#include <stdio.h>
#include <math.h>
int main()
{
int n,i;
double m=1.0,sum=0;//m定义为1.0阶乘从1开始,若不设置成1.0,m、sum的值将始终为0
scanf("%d",&n);
for(i=1;i<=n;i++)
{
m*=i;
sum+=m;
if(sum>=n)//当sum的值大于n时说明第i次阶乘结果大于n,第i-1次阶乘结果就是满足不等式m<=n最大的值
{
printf("m<=%d",i-1);
break;//如果发现满足不等式m<=n的最大值,退出循环
}
}
return 0;
}
04-11