码迷,mamicode.com
首页 > 其他好文 > 详细

1057 N的阶乘(大数运算)

时间:2016-10-14 07:06:46      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:51nod 1057 N的阶乘

技术分享
 1 #include<cstdio>
 2 using namespace std;
 3 typedef long long ll;
 4 const int N = 10000;
 5 const int mod = 1e8;
 6 ll a[N] = {1};
 7 int n;
 8 int main(){
 9     int i, j, c, cnt;
10     scanf("%d", &n);
11     cnt = 1;
12     for(j = 2; j <= n; ++j){
13         for(c = i = 0; i <cnt; ++i){
14             a[i] = a[i] * j + c;
15             c = a[i] / mod;
16             a[i] %= mod;
17         }
18         if(c > 0){
19             a[i] = c;
20             cnt++;
21         }
22     }
23     printf("%lld", a[--cnt]);
24     while(cnt){
25         printf("%08lld", a[--cnt]);
26     }
27     return 0;
28 }
View Code

 

1057 N的阶乘(大数运算)

标签:

原文地址:http://www.cnblogs.com/GraceSkyer/p/5958645.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!