14:求10000以内n的阶乘

2018-06-17 23:06:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

14:求10000以内n的阶乘

  • 查看
  • 提交
  • 统计
  • 提问
总时间限制: 
5000ms
 
内存限制: 
655360kB
描述

求10000以内n的阶乘。

输入
只有一行输入,整数n(0<=n<=10000)。
输出
一行,即n!的值。
样例输入
100
样例输出
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
来源
JP06
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<cstring>
 5 using namespace std;
 6 int a[1000001]={1};
 7 int ans[10000001]={1};
 8 char n[1001];
 9 int en[1001];
10 int main()
11 {
12     int n;
13     cin>>n;
14     int lans=1;
15     int x=0;
16     for(int i=1;i<=n;i++)
17     {
18         
19         for(int j=0;j<lans;j++)
20         {
21             a[j]=a[j]*i+x;
22             x=a[j]/10;
23             if(x>0&&j==lans-1)
24             lans++;
25             a[j]=a[j]%10;
26         }
27     }
28     int flag=0;
29     for(int i=lans;i>=0;i--)
30     {
31         if(a[i]==0&&flag==0)
32         continue;
33         else flag=1;
34         cout<<a[i];
35     }
36     return 0;
37 }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:bzoj1009 [ HNOI2008 ] -- KMP+矩阵乘法加速DP

下一篇:1415. [NOIP2001]数的计数