题目描述
已知不等式 1!+2!+3!+...+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。
输入
输入一个整数n,n为int范围内的正整型。
输出
输出m的取值范围,具体格式见输出样例。
样例输入
2000000000
样例输出
m<=12
先调到java再提交
优雅的写法
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt(),i;
double sum = 0,
product = 1;
for(i = 1; ;product *= i,i++,sum += product)
if(sum >= n)
break;
System.out.printf("m<=%d",i - 2);
}
}
在求阶乘累加和的基础上进行改造((6条消息) zzuli oj 1050: 阶乘的累加和(java)_shuonine2b的博客-CSDN博客)
在求阶乘的过程中,累加和不小于n就中断.因为循环条件未知,所以设置死循环用break跳出.