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

杭电1042

时间:2016-11-13 17:07:37      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:max   scanf   print   span   include   memset   pre   ring   while   

 1 #include<stdio.h>
 2 #include<string.h>
 3 long long a[10000];
 4 const int maxn = 1e9;
 5 int main()
 6 {
 7     int n,i,j,len=0;
 8     while(~scanf("%d",&n))
 9     {
10         memset(a,0,sizeof a);
11         for(i=2,a[0]=1,len=1; i<=n; ++i)
12         {
13             for(j=0; j<=len; ++j)
14             {
15                 if(j)
16                 {
17                     a[j]=a[j]*i+a[j-1]/maxn;
18                     a[j-1]%=maxn;
19                 }
20                 else
21                     a[j]*=i;
22             }
23             if(a[len])
24                 len++;
25         }
26         for(i=len-1; i>=0; --i)
27             if(i==len-1)
28                 printf("%lld",a[i]);
29             else
30                 printf("%09lld",a[i]);
31         printf("\n");
32     }
33 }

 

杭电1042

标签:max   scanf   print   span   include   memset   pre   ring   while   

原文地址:http://www.cnblogs.com/qq188380780/p/6058716.html

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