题目:设s=1*2*3*......*n,求s不大于400000的最大的n
public class test1 {
public static void main(String[] args)
{
int n=1;
int sum=1;
do
{
sum *= n;
n++;
}while(sum>400000);
System.out.println("n="+(n-1));
}//end main
}//end class test1
运行结果为何不是8?问题出在哪作者: chen_x 时间: 2014-3-6 21:42
while(sum>400000) ,判断条件写错了,应该是while(sum<400000)作者: 12560zhang 时间: 2014-3-6 21:49 本帖最后由 12560zhang 于 2014-3-6 22:26 编辑
<div class="blockcode"><blockquote>public class Test {
作者: zhouliang 时间: 2014-3-6 22:16
你do里面那个执行语句应该为sum=sum*n;while条件表达式里面的语句应该为sum<=400000;你试下作者: 小脚印 时间: 2014-3-7 00:43
public class test1 {
public static void main(String[] args)
{
int n=1;
int sum=1;
do
{
sum *= n;
n++;
}while(sum>400000);//判断条件写错了 应该while(sum<=400000)
System.out.println("n="+(n-1));
}//end main
}//end class test1
//答案是9 作者: 焚雨成灰 时间: 2014-3-7 08:09