爱因斯坦阶梯问题:用Scratch巧解数学题

阿尔伯特·爱因斯坦(1879-1955)是犹太裔物理学家,诺贝尔物理奖获得者,他创立了代表现代科学的相对论,并为核能开发奠定了理论基础,他创始了现代科学技术新纪元,被公认为是继伽利略、牛顿以来最巨大的物理学家。

有一次,爱因斯坦给他的朋友出了这样一道风趣的数学题:有一条长长的阶梯,假如每步跨2阶,最终剩1阶;每步跨3阶,最终剩2阶;每步跨5阶,最终剩4阶;每步跨6阶,最终剩5阶。只要每步跨7阶时,才正好到头,一阶也不剩。请问这条阶梯至少有多少阶?

请你编写一个Scratch程序求解这个问题。

【编程解题】

咱们用一个变量n来表明阶梯数,那么阶梯数n要一起满意以下5个条件:

接下来,咱们选用枚举法向你介绍怎么求解该问题。

咱们运用“重复履行直到……”指令构建一个循环结构,在循环体内让变量n的值不断增加,并判别n的值是否满意上述5个条件。

因为阶梯数是7的整数倍,因而咱们调整一下,在循环体内让变量n每次增加7,这样就不需要判别第5个条件了。假如变量n的值一起满意前4个条件,那么咱们就求得这个问题的解。

经过上面的程序咱们现已求得这个问题的解,可是依然有改善的空间。

回头再仔细看爱因斯坦阶梯问题,咱们发现,阶梯数顺次除以2、3、5、6的余数分别是1、2、4、5,能一起满意这四个条件的最小阶梯数是29,而2、3、5、6的最小公倍数是30,也便是说,阶梯数是2、3、5、6的最小公倍数减去1,这样才会呈现余数是1、2、4、5的现象。

依据这个发现,建议你修正上述程序,让变量n从29开始,每次递加30。而要判别的条件只要一个,便是判别变量n是否是7的整数倍。

经过改善的程序更为简练,完好程序如下:

点击绿旗运转程序,得到成果:这条阶梯最少有119阶。

在本文中,咱们口算就能求出2、3、5、6的最小公倍数是30,或许用笔算也能很快求出一般数的最小公倍数。可是假如遇到一些大数或许多个数的时候,用口算或笔算就不能很快算出最小公倍数了。

这个时候,咱们能够编写程序,凭借计算机来帮助咱们求最小公倍数。

经过处理爱因斯坦阶梯问题,咱们发现数学思想在编程中有着重要的效果,它能使咱们的程序更加简练、更有功率。