算法:Java求出爱因斯坦阶梯问题。

时间:2021-09-13 11:10:31

题:爱因斯坦曾经提出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩下1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩下4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。

 

分析:因为每步走7步才能刚好一步不剩,故这个数肯定是7的倍数;因为每次两步最后会剩下一步,故这个数是奇数,所以它不可能是7的偶数倍:14、28、42...都可以排除。这个数可能是7*(2n-1)(n=1,2,3,4....)。

 

代码:

package com.test;

public class Test {
    
    public static void main(String[] args) {
        
        int result=7;
        while(!((result%2==1)&&(result%3==2)&&(result%4==3)&&(result%5==4)&&(result%6==5))){
            result+=14;
        }
        System.out.println("结果:"+result);
        
    }
    
}

 

 

结果:

算法:Java求出爱因斯坦阶梯问题。