【Scratch数学编程】爱因斯坦阶梯问题

爱因斯坦阶梯问题

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

【Scratch数学编程】爱因斯坦阶梯问题-少儿编程网

【问题】有一次,爱因斯坦给他的朋友出了这样一道有趣的数学题:有一条长长的阶梯,如果每步跨2阶,最后剩1阶;每步跨3阶,最后剩2阶;每步跨5阶,最后剩4阶;每步跨6阶,最后剩5阶。只有每步跨7阶时,才正好到头,一阶也不剩。请问这条阶梯至少有多少阶?请你编写一个Scratch程序求解这个问题。

【编程解题】我们用一个变量n来表示阶梯数,那么阶梯数n要同时满足以下5个条件:
【Scratch数学编程】爱因斯坦阶梯问题-少儿编程网

接下来,我们采用枚举法来求解该问题。我们使用“重复执行直到……”指令构建一个循环结构,在循环体内让变量n的值不断增加,并判断n的值是否满足上述5个条件。

由于阶梯数是7的整数倍,因此我们调整一下,在循环体内让变量n每次增加7,这样就不需要判断第5个条件了。如果变量n的值同时满足前4个条件,那么我们就求得这个问题的解。

程序比较简单,完整的程序清单如下:

【Scratch数学编程】爱因斯坦阶梯问题-少儿编程网

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

【Scratch数学编程】爱因斯坦阶梯问题-少儿编程网

通过上面的程序我们已经求得这个问题的解,但是仍然有改进的空间。

回头再仔细看爱因斯坦阶梯问题,我们发现,阶梯数依次除以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的整数倍。

经过改进的程序更为简洁,完整程序如下:

【Scratch数学编程】爱因斯坦阶梯问题-少儿编程网

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

在本文中,我们口算就能求出2、3、5、6的最小公倍数是30,或者用笔算也能很快求出一般数的最小公倍数。但是如果遇到一些大数或很多个数的时候,用口算或笔算就不能很快算出最小公倍数了。这个时候,我们可以编写程序,借助计算机来帮助我们求最小公倍数。

通过解决爱因斯坦阶梯问题,我们发现数学思维在编程中有着重要的作用,它能使我们的程序更加简洁、更有效率。

本文链接:【Scratch数学编程】爱因斯坦阶梯问题

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:少儿编程网,谢谢!^^


*文章为作者独立观点,不代表少儿编程网立场
发表评论

坐等沙发
相关文章
编程少年丨余疆海:个性十足却不失温度
编程少年丨余疆海:个性十足却不失温度
为什么大家都建议学习少儿编程要从Scratch开始?
为什么大家都建议学习少儿编程要从Scrat…
孩子学完各个阶段的编程课程能够参加哪些比赛?
孩子学完各个阶段的编程课程能够参加哪…
我的孩子从来没有接触过编程,0基础能不能学?
我的孩子从来没有接触过编程,0基础能不…
【精选作品】如何通过Scratch让小猪跑起来?(内附火影粉丝巨献,必看)
【精选作品】如何通过Scratch让小猪跑起…
0基础的孩子应该怎样学习少儿编程?
0基础的孩子应该怎样学习少儿编程?
Scratch是由麻省理工学院(MIT)设计开发的一款面向少年的简易编程工具,是适合于全世界儿童学习编程和交流的工具和平台