同学们画图画麻了,来道有趣的数学题调剂一下。
问题
有这么一道数学题:
“有个学生资性好,一部《孟子》三日了,每日添增一倍多,问君每日读多少?(注:《孟子》全书共34685字,“一倍多”指一倍),由此诗知该君第二日读的字数为 ______.
这道题目的意思是:有个学生非常聪明,三天就读完了孟子(全书34685字),他读书的特点是后一天读的字数是头一天的2倍。要求算出这个学生第二天读了多少字。
分析
这是一道“等比”应用题,等比的意思是数据的前一项与后一项比例关系是固定的。比如,第一天读了1万字,第2天读了2万字,第3天读了4万字,这样除第一天外,每天读的字数都是前一天2倍。解这类题目,我们关键是要求出第一天读的字数。因为第一天知道了,依次就可以算出后面每一天的字数(用我们以前计算猴子吃桃的时候用的递推方法)。
如果把第一天读的字数算作“一份”,则第二天为“两份”,第三天“四份”。三天读完,三天一共读了多少份呢?显然是 1+2+4=7份,用总字数除以份数,就得到了每“份”字数,其实也就是第一天读的字数,那第二天不知道得到了吗?
当然,我们编程不能这么直接 1+2+3地计算,因为可能别的应用场景不只三天,我们可以用循环的方式累加出总份数再计算。这样题目就很容易了。
编程
逻辑清楚了,直接上代码:
这里我们引入了一个“日志”列表,目的是在求出“份数”后再循环一遍,把每天阅读的字数保存到列表中,一次性地让角色说出来。
总结
你是否掌握了这类“等比”问题的做法?这其实是高中阶段学习等比数列的“前N项和”问题。现在我们只要会用就可以了。
如果你掌握了,来试试做下面这道题目吧:
远望巍巍塔七层,红灯点点倍加增; 共灯三百八十一,请问尖头几盏灯?