public class Day2011_09_01 {
/**
* 作者:李武明
* 功能:用Java语句编写1+2+3+4+....+n<8888的最大整数n
* 日期:2011-09-01
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0; //加数的和
int num=0; //记录当前加数的个数
for(int i=1;i<8888;i++){
if(sum>8888){
break; //当和大于8888的时候跳出for循环
}
num=i;
sum=sum+i;
}
System.out.println("最大正整数为:"+num);
}
}
希望可以帮助你,有什么疑问请追问 我知道的一定会竭尽全力
public class Du11 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while(sum < 8888){
sum = sum + i;
i++;
}
i--;//这里一定要减1,因为上面执行了i++之后才不满足<8888的
System.out.println("最大整数为: " + i);
}
}
-------------测试
最大整数为:133
告诉你一种思路吧
左边进行等差数列求和操作,左边和 S=(1+n)*n/2
用一个while循环,里面判断一下,当S>=8888的时候,循环结束,当前的n就是你要求出来的值
这是通常的思路,其它的解决方式就得你自己再动动脑子了,呵呵,希望对你有帮助!!!
/*核心算法*/
int sum=0;
int i=0;
while(true)
{
i++;
sum+=i;
if(sum>=8888)
{
i--;
break;
}
}
System.out.println("满足条件的最大整数为:"+i);