Java课后习题,求满足1!+2!+3!+...+n!<9999的最大整数n

这是我的算法
int item = 1, sum = 0, i = 1;
for (i = 1; i <= 20; i++) {
item = item * i;
sum = sum + item;
if(sum>9999){
break;
}
System.out.println(i);
问题是它输出1~7我要怎么改才能让它只输出一个7?

第1个回答  2012-11-19
public void test() {
check(9999);
}

public int check(int num) {
int sum = 0;
int i = 1;

while( true ) {
sum += factorial(i++);
if(sum>=num){
System.out.println(i-1);

}

}

}

public int factorial(int num){
int sum = 0;
for(int i=1;i<=num;i++){
sum *= i;
}
}
第2个回答  2012-11-19
int item = 1,sum = 0,i = 1;
for(i = 1;i<=20;i++) {
item = intem*i;
sum = sum + item;
if (sum > 9999){
break;
}
}
System.out.println(i);追问

你错了哦,这样结果是8的,是输出i-1

相似回答