1.while循环
#include<stdio.h>
int main()
{
int n,j;
long long m,sum;//long long型或double型的否则溢出
scanf("%d",&n);
sum=0;
j=m=1;
while(sum<n)
{
j*=m;//每一项阶乘
sum+=j;
m++;
}
printf("m<=%d",m-2);
return 0;
}
2.for循环
#include<stdio.h>
int main()
{
int n,i;
// double m=1.0, sum=0.0;//必须时double型的
long long m=1,sum=0;
scanf("%d",&n);
for(i=1;;i++)//无法判断循环次数
{
m*=i; //每一项阶乘
sum+=m;//阶乘总和
if(sum>=n)
{
printf("m<=%d",i-1);
break;
}
}
return 0;
}