题目:爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1到N内,有多少个数能满足?
解题思路:此题与筐里鸡蛋问题属于一类题目,假设有最少有i个台阶,且假设台阶数小于10000(如果无解,可再增大),利用for循环,取模运算,即可求解;求得台阶最少数为119个。
代码如下:
public class EinMath {
public static void main(String[] args) {
int n=10000;//假设台阶数不超过10000个
System.out.println("假设当前台阶数少于:"+n+"个");
for (int i = 7; i <n; i++) {
if (i%7==0) {//每次跨7阶,最后才正好一阶不剩
if (i%6==5) {//若每步跨6阶则最后剩5阶
if (i%5==4) {//若每步跨5阶,则最后剩4阶
if (i%3==2) { //若每步跨3 阶,则最后剩2阶
if (i%2==1){//若每步跨2阶,则最后剩一阶
System.out.println("当前台阶最少数:"+i);
break;
}
}
}
}
}
}
System.out.println("*****计算完毕!*****");
}
}