首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

高精度乘以单精度 hdu1042 N

2012-11-23 
高精度乘以单精度 hdu1042 N!#includeiostream#includecstdiousing namespace stdint ans[10000000]

高精度乘以单精度 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;}


 

热点排行