趣味数学——蜗牛爬树
2021-11-04
电脑报 2021年41期
蜗牛爬树或青蛙爬井是一道常见的趣味数学题,它们的共同特点是向上爬一段距离后,又会向下掉一截距离。一般来说青蛙爬井是晚上下落,蜗牛爬树是第二天下落,这点小小的不同也对我们后续的编程稍有影响。我们先用Scratch解决蜗牛爬树,再用Python解决青蛙爬井。
一、蜗牛爬树
1.问题描述
蜗牛想要爬上一棵18米高的树,蜗牛一天可以爬3米,然后要休息一天,休息期间又会下滑1米。请问蜗牛多久可以爬上树顶。现在需要我们在Scratch中快速计算出蜗牛爬树的时间和总距离。
2.题目分析
由题意可知,树高18米,向上爬一天3米,第二天休息,休息期间下滑1米。
第一天:爬3米,实际距离3米;第二天:休息,下滑1米,实际距离2米;第三天:爬3米,实际距離5米;第四天:休息,下滑1米,实际距离4米……
我们可以总结出来,时间和距离之间不是单纯线性的关系;时间增加1,距离增加3,只要蜗牛爬行超过1天,时间每增加2,距离就会减少1;直到距离达到18就停止。
3.编辑脚本
寻找合适的蜗牛素材。创建变量“时间”和“距离”。由于蜗牛开始爬才计算时间与距离,因此初始化都设为0。
根据题意,第一天时间增加1,距离增加3。第二天时间增加1,距离增加-1。依次循环,每天都需要做一次判断,直到某一天距离大于或等于18时停止,并说出蜗牛爬行的时间和距离。为了记录每天的距离,我还设置了距离列表。
二、青蛙爬井
1.问题描述
一口井深18米,青蛙白天爬3米,夜里休息时会滑下1米,请问青蛙几天可以爬上来。
2.题目分析
青蛙一样会在某个白天爬上井口不用在晚上落下来。
3.代码
设井深为-18,升3,降-1。循环中先升后降每次变量jing变化都要判断一次,直到变量jing大于或等于0跳出循环。