总时间限制:
5000ms
内存限制:
655360kB
描述
求10000以内n的阶乘。
输入
只有一行输入,整数n(0<=n<=10000)。
输出
一行,即n!的值。
样例输入
100
样例输出
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
来源
JP06
代码
- #include
- using namespace std;
- int n,a[110000],k;
- int main()
- {
-
- cin>>n;
- a[0]=1;
- for(int i=1;i<=n;i++)
- {
- for(int j=0;j<=k;j++) a[j]*=i;
- for(int j=0;j<=k;j++)
- {
- if(a[j]>9)
- {
- a[j+1]+=a[j]/10;
- a[j]=a[j]%10;
- if(j==k) k++;
- }
- }
- }
-