输入N求N的阶乘的准确值。
输入
输入N(1 <= N <= 10000)
输出
输出N的阶乘
输入样例
5
输出样例
120
#include<iostream>
#include<cstring>
using namespace std;
long long a[10010],tmp;
int main()
{
;
int n;
scanf("%d",&n);
int tip=0;
a[0]=1;
for(int i=2;i<=n;i++)
{
tmp=0;
for(int j=0;j<=tip;j++)
{
a[j]=a[j]*i+tmp;
tmp=a[j]/100000000;
a[j]%=100000000;
}
if(tmp)
{
a[++tip]=tmp;
}
}
//cout<<a[tip--];
printf("%lld",a[tip--]);
while(tip>-1)
printf("%0.8lld",a[tip--]);
printf("\n");
return 0;
}