69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#define N 1000 //要计算的N
long s[N]={1,1},n=N,t=2,a=1,b=0;
int main()//雨中飞燕之作
{
for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)
s[a]=(b+=s[a]*t)%10000,b/=10000;
for(printf("%d",s[*s]);--*s>0;) printf("%04d",s[*s]);
return 0;
}
scanf("%d",&m);
sum=0;
for(i=1;i<=m;i++)
{
sum=sum+log10((double)i);
}
printf("%d\n",(int)sum+1);