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; }