关于拿鸡蛋数学题的解法

求解:一筐鸡蛋,1个1个拿正好拿完,2个2个拿,还剩1个,3个3个拿,正好拿完,4个4个拿,还剩1个,5个5个拿,还差1个,6个6个拿,还剩3个,7个7个拿,正好拿完,8个8个拿,还剩1个,9个9个拿,正好拿完,问筐里有多少鸡蛋?

解题思路:假设框里有最少有i个鸡蛋,且假设筐里鸡蛋数小于10000(如果无解,可再增大,这是一种解题思路,我认为任何科学理论都是在一定条件下成立,我们解题时也可参考这种原则),利用for循环,取模运算,即可求解;求得筐里鸡蛋最少数为1449个。
代码如下:

public class Egg {
    public static void main(String[] args) {
        int iEgg=10000;//假设筐里鸡蛋数不超过10000个
        System.out.println("假设当前鸡蛋数少于:"+iEgg+"个");
        for (int i = 9; i <iEgg; i++) {
            if (i%9==0) {//9个9个拿,正好拿完
                if (i%8==1) {//8个8个拿,还剩1个
                    if (i%7==0) {//7个7个拿,正好拿完
                        if (i%6==3) {	//6个6个拿,还剩3个
                            if (i%5==4){//5个5个拿,还差1个
                                if (i%4==1) {//4个4个拿,还剩1个
                                    if (i%3==0) {//3个3个拿,正好拿完
                                        if (i%2==1) {//2个2个拿,还剩1个
                                            System.out.println("当前筐里鸡蛋最少数:"+i);
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        System.out.println("*****计算完毕!*****");
    }
}

关于拿鸡蛋数学题的解法_第1张图片

你可能感兴趣的:(算法,java)