题目描述
已知不等式 1!+2!+3!+…+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。
输入
输入一个整数n,n为int范围内的正整型。
输出
输出m的取值范围,具体格式见输出样例。
样例输入
2000000000
样例输出
m<=12
注意数据类型的溢出
代码如下
#include<stdio.h>
int main()
{
int n,i,j,x;
long long sum=0;//防止数据溢出
scanf("%d",&n);
for(i=1;i<=n;i++)
{
x=1;//在循环里面初始化为1,确保每次循环求阶乘正确
for(j=1;j<=i;j++)//每一项的阶乘
{
x *= j;
}
sum += x;//阶乘和
if(sum>=n)
{
printf("m<=%d",i-1);
return 0;
}
}
return 0;
}