首页 > 其他 > 详细

阶乘的精确值

时间:2014-04-24 04:49:44      阅读:672      评论:0      收藏:0      [点我收藏+]

阶乘的精确值

输入不超过1000的正整数n,输出n!的精度结果。

样例输入:30

样例输出:265252859812191058636308480000000

 

bubuko.com,布布扣
 1 #include<cstdio>
 2 #include<string.h>
 3 
 4 #define maxn 3000
 5 
 6 int f[maxn];
 7 
 8 int main()
 9 {
10     int i,j,n,c;
11     int s;
12     scanf("%d",&n);
13     memset(f,0,sizeof(f));
14     f[0]=1;
15     for(i=2;i<=n;i++)
16     {
17         c=0;
18         for(j=0;j<maxn;j++)  //f[0]是个位,f[1]是十位,f[2]是百位,每一位只保存一个数字
19         {
20             s=f[j]*i+c;//每一位都乘以i
21             f[j]=s%10;//只存一位
22             c=s/10;//要加到高位的数
23         }
24     }
25     for(j=maxn-1;j>=0;j--)//忽略前导0
26     {
27         if(f[j])
28             break;
29     }
30     for(i=j;i>=0;i--)//因为f[0]是个位,所以逆序输出
31     {
32         printf("%d",f[i]);
33     }
34     printf("\n");
35     return 0;
36 }
bubuko.com,布布扣

 

阶乘的精确值,布布扣,bubuko.com

阶乘的精确值

原文:http://www.cnblogs.com/youdiankun/p/3683938.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!