一个非1的自然数。
加1是2的倍数
加2是3的倍数
加3是4的倍数
加4是5的倍数
加5是6的倍数
加6是7的倍数
求这个数是多少?public class OneAddTo100Except3{
    public static void main(String[]args){
        //初始结果值为1
        int result = 1;
                //循环体开始,从1到1000
                for (int i = 1; i<= 1000; i++){
                    result += i;
                    //加1被2整除,加2被3整除,加3被4整除,加4被5整除,加5被6整除,加6被7整除
                    if ((result+1)%2 == 0 &&
                        (result+2)%3 == 0 &&
                        (result+3)%4 == 0 &&
                        (result+4)%5 == 0 &&
                        (result+5)%6 == 0 &&
                        (result+6)%7 == 0){
                        //若条件为真,则输出结果
                        System.out.println("The result is:" + result);
                    }
                }
    }
}输出时是
run:
The result is:5461
The result is:7141
The result is:25201
The result is:39061
The result is:56281
The result is:73921
The result is:79801
The result is:97021
The result is:103741
The result is:127261
The result is:157081
The result is:189421
The result is:259561
The result is:270481
The result is:352381
The result is:353221
The result is:446041
The result is:460321
成功构建 (总时间: 0 秒)
问题:循环体最大是1000,为什么结果会输出大于1000的数字?百思不得解。

解决方案 »

  1.   

    因为你是 result=result+i
      

  2.   

    已经重新修改过,现在运行结果正确了。
    非常感谢老师指点!!!public class FindTheNumber {
        public static void main(String[]args){                //循环体开始,从1到1000
                    for (int result = 2; result<= 10000; result++){
                        
                        //加1被2整除,加2被3整除,加3被4整除,加4被5整除,加5被6整除,加6被7整除
                        if ((result+1)%2 == 0 &&
                            (result+2)%3 == 0 &&
                            (result+3)%4 == 0 &&
                            (result+4)%5 == 0 &&
                            (result+5)%6 == 0 &&
                            (result+6)%7 == 0){
                            
                            //若条件为真,则输出结果
                            System.out.println("The result is:" + result);
                            
                            //找出最小符合条件的数字后跳出循环体。
                            break;
                        }
                    }
        }
    }输出:
    run:
    The result is:421
    成功构建 (总时间: 0 秒)
      

  3.   

    我是小白,楼上说的是这意思吗?class A
    public static void main(String[] args)
    {
    for(x=1;x<1000;x++)
    int y=1+x*10
    if(
    (y+1)%2==o&&
    (y+2)%3==o&&
    (y+3)%4==o&&
    (y+4)%5==o&&
    (y+5)%6==o&&
    (y+6)%7==o&&)
    SYstem.out.println("y"+y);
    break
    }
      

  4.   

    其实这个题目小学3年级小朋友都会,
    加1是2的倍数
    加2是3的倍数
    加3是4的倍数
    加4是5的倍数
    加5是6的倍数
    加6是7的倍数相当于 减1能被2,3,4,5,6,7同时整除,这个数就等于2,3,4,5,6,7的所有公倍数加1 
    over!