读书人

高精度乘以单精度 hdu1042 N

发布时间: 2012-11-23 22:54:33 作者: rapoo

高精度乘以单精度 hdu1042 N!

#include<iostream>#include<cstdio>using namespace std;int ans[10000000];//存放n!的结果int main(){ int n,i,j,k,len; while(~scanf("%d",&n)) {  ans[1]=1;  len=1;  for(i=2;i<=n;i++)  {   for(j=1;j<=len;j++)//边乘边进位   {    ans[j]=ans[j]*i+ans[j-1]/10;    ans[j-1]%=10;   }   while(ans[len]>=10)//判断最高位是否需要进位   {    len++;    ans[len]=ans[len-1]/10;    ans[len-1]%=10;   }  }  for(i=len;i>1;i--)   printf("%d",ans[i]);  printf("%d\n",ans[1]); } return 0;}


读书人网 >编程

热点推荐