求解:一筐鸡蛋,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("*****计算完毕!*****");
}
}