1058: 求解不等式
- 题目描述
已知不等式 1!+2!+3!+...+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。 - 输入
输入一个整数n,n为int范围内的正整型。 - 输出
输出m的取值范围,具体格式见输出样例。 - 参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,n;
double s=0,f=1;
scanf("%d",&n);
for(i=1;i++){
f*=i;
s+=f;
if(s>=n){//判断不等式=m时便退出循环
printf("m<=%d",i-1);
break;
}
}
return 0;
}
- 代码解析:
不等式要求的是前面几个和<s的情况就成立,反过来也就是说s>=n时,m的值达到最大,这就是他的取值范围。我们要在判断完这一步成立后,退出循环。
网友评论