1058: 求解不等式
时间限制: 1 Sec 内存限制: 128 MB
提交: 34615 解决: 18411
[状态] [讨论版] [提交] [命题人:admin]
题目描述
已知不等式 1!+2!+3!+…+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。
输入
输入一个整数n,n为int范围内的正整型。
输出
输出m的取值范围,具体格式见输出样例。
样例输入 Copy
2000000000
样例输出 Copy
m<=12
提示
注意计算过程中的类型溢出问题
/*
* 求解不等式
*/
import java.util.*;
public class Main {
public static void main(String[] args) {
//创建Scanner对象input
Scanner input = new Scanner(System.in);
//输入n
int n = input.nextInt();
//声明变量
long fact = 1;
long sum = 0;
for(int i = 1; ; i++) {
//阶乘
fact *= i;
//阶乘和
sum += fact;
//判断条件
if(sum >= n) {
System.out.printf("m<=%d\n", i - 1);
break;
}
}
}
}