题目:输入不超过1000的正整数n,输出n!=1x2x3···xn的精确结果。
样例输入:30
样例输出:265252859812191058636308480000000
代码如下:
#include <iostream>
#include <cstring>
using namespace std;
const int maxn=3000;
int f[maxn];
int main()
{
int i,j,n;
cin>>n;
memset(f,0,sizeof(f));
f[0]=1;
for (i=2;i<=n;i++)
{
int c=0;
for (j=0;j<maxn;j++)
{
int s=f[j]*i+c;
f[j]=s%10;
c=s/10;
}
}
for (j=maxn-1;j>=0;j--)
if(f[j])
break;
for (i=j;i>=0;i--)
cout<<f[i];
return 0;
}
运行结果: