1172:求10000以内n的阶乘
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 32708 通过数: 9342
【题目描述】
求10000以内n的阶乘。
【输入】
只有一行输入,整数n(0≤n≤10000)。
【输出】
一行,即n!的值。
【输入样例】
4
【输出样例】
24
【源代码】
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
int n,x,len=1;
int a[100000];
cin>>n;
a[1]=1;
for(int k=1;k<=n;k++)
{
x=0;
for(int i=1;i<=len;i++)
{
a[i]=a[i]*k+x;
x=a[i]/10;
a[i]%=10;
if(x>0&&i==len) len++;
}
}
for(int j=len;j>0;j--)
{
cout<<a[j];
}
return 0;
}