使用java中的嵌套循环解决消除问题?

时间:2013-11-01 17:15:29

标签: java loops math nested

我试图解决解决此提示的程序挑战 “当从一篮子鸡蛋中一次取出2个,3个,4个,5个,6个鸡蛋时,剩余的鸡蛋分别为1,2,3,4,5个鸡蛋。当一次取出7个鸡蛋时,没有鸡蛋我可以在篮子里放过多少蛋?“

我尝试使用嵌套循环创建程序,我觉得它应该可以工作,但是当我运行程序时,它只打印空白区域。我从来没有得到满足等式的数字。有人可以帮我,还是告诉我我做错了什么?

我只允许使用嵌套循环和决策语句。

public class Program{ 

public static void main (String []args){

  int c,d,e,f,g,h;

for (int j=1; j<1000; j++){

    for (c=j; c>=1; c=c-2){
    }


        if (c==1){
            for (d=j; d>=2; d=d-3){
            }

        if (d==2){
            for (e=j; e>=3; e=e-4){
            }  
        if (e==3){
            for (f=j; f>=4; f=f-5){
            }
        if (f==4){
            for (g=j; g>=5; g=g-6){
            }
        if (g==5){
            for (h=j; g>=0; h=h-7){
            }
        if (h==0){
            System.out.println(+j);   
        }
        }
        }
        }
        }
        }
} 
}
}

2 个答案:

答案 0 :(得分:1)

int numberOfEggs = 0;
for (;;)
{
    if (numberOfEggs % 2 == 1 &&
        numberOfEggs % 3 == 2 &&
        numberOfEggs % 4 == 3 &&
        numberOfEggs % 5 == 4 &&
        numberOfEggs % 6 == 5   )
        return numberOfEggs;
    else
        numberOfEggs += 7;
}

答案 1 :(得分:1)

试试这个:

public static void main(String[] args) {
    int x = 7;
    int result = -1;
    while (true) {
        if ((x % 2 == 1) && (x % 3 == 2) && (x % 4 == 3) && (x % 5 == 4)
                && (x % 6 == 5)) {
            result = x;
            break;
        }
        x += 7; // This because you know its multiple of 7
    }
    System.out.println("Result is: " + result);
}