题目描述
已知不等式 1!+2!+3!+…+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。
输入
输入一个整数n,n为int范围内的正整型。
输出
输出m的取值范围,具体格式见输出样例。
样例输入
2000000000
样例输出
m<=12
提示
注意计算过程中的类型溢出问题
#include<stdio.h>
double fun(int m){ //计算1!+2!+3!+...+m!
double sum=0,jc=1; //注意溢出,用int不行
for(int i=1;i<=m;i++){
jc=jc*i;
sum=sum+jc;
}
return sum;
}
int main(){
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++){
if(fun(i)>=n){
printf("m<=%d",i-1);
break;
}
}
return 0;
}