1<=N<=10000,求N!
如题,要注意数据溢出问题,要用C编程哦
程序代码:
#include<stdio.h>
long s[1000]={1,1},n=1000,t=2,a=1,b=0;
int main()
{
for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)
b+=s[a]*t,s[a]=b%10000,b/=10000;
for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);
return 0;
}
