加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

有趣的桃子和桃核问题

(2024-08-27 15:55:15)
标签:

林老师

信息学竞赛

pclogo

mswlogo

fmslogo

分类: WinXP~7~8~10运行Logo语言
有趣的桃子桃核问题
 有趣的桃子和桃核问题
      官方(厦门市教育局-科协)举办的2023年小学生LOGO语言编程竞赛中有这样一道有趣的填空题:“假设一元钱能够买一个桃子,且三个桃核能跟商家换回一个桃子。请问:给你10元钱,你最多能吃到  【21】   个桃子?”说这道题目有趣,首先是“商家”是否真的会回收人家吃过桃子被作为废物丢弃的桃核?回收桃核这事还真的存在。经挑选、清洁、处理过的桃核是“微雕”的好材料。一个成品桃核微雕的价值可能远远超过单个水果桃子的价格的百倍、千倍以上。从桃核中取出的“桃仁”更是一味重要的中药材。所以“回收桃核”是真的有这回事的(但实际操作中更可能是大批量地回收,而不是几个几个地回收)。
有趣的桃子和桃核问题

有趣的桃子和桃核问题

      从另外一个角度来思考,说这道题目“有趣”,是解算“最多能吃到几个桃子”的过程,其实是一个“递归”计算过程。就以题目规定的“给你10元钱”,正确的思考过程应该是这样子的:

      一开始有 10 元钱,买来桃子 10 个。
      这一轮桃核能够换桃子 3 个。累计桃子数 13 个。
      这一轮桃核能够换桃子 1 个。累计桃子 14 个。
      剩下的桃核已经换不了桃子了。
      所以最多能吃到 14 个桃子。

      在这个递归过程中,你一直在根据“三个桃核能跟商家换回一个桃子”的规则进行“递归判断”运算。比如10个桃核当然就只能换3个桃子(剩余的1个桃核不足3个换不了)。在开始只有10元钱的情况下,递归的层次有限(对桃核的数量经过了3轮计算),可以很快地计算出来。但是在一开始时桃子数较多的时候,用上述的“列表法”就会显得“力不从心”了。把这样的思考过程编写成程序是这样子的:

to taoh :n :g    ;桃核换桃子递归程序
  (pr "现有桃子 :n "个 "累计桃子 :g "个)
  if :n<3[ (pr "最多能吃到 :g "个桃子) stop]
  make "n int(:n/3)  ;执行3个桃核换1个桃子的运算
  make "g :g+:n ;用桃核换得到的桃子数需要累加到桃子的总数里面的
  taoh :n :g   ;递归,继续进行桃核换桃子的操作
end

      在求解10元买桃子的情况下,应输入: taoh 10 10 。
      前面的:n=10是指因为有10元钱,所以相当于“现有10个桃子”;
      后面的:g=10是指“当前桃子的累计数是10个”。
      make "n int(:n/3) 是执行3个桃核换1个桃子的运算。
      make "g :g+:n是指用桃核换得到的桃子数需要累加到桃子的总数里面的。
      如此递归计算,不论一开始有多少“钱”,最终能够“吃”到多少个桃子很快就会计算出来。
     下面是计算实例:

taoh 10 10
现有桃子 10 个 累计桃子 10 个
现有桃子 3 个 累计桃子 13 个
现有桃子 1 个 累计桃子 14 个
最多能吃到 14 个桃子

taoh 100 100
现有桃子 100 个 累计桃子 100 个
现有桃子 33 个 累计桃子 133 个
现有桃子 11 个 累计桃子 144 个
现有桃子 3 个 累计桃子 147 个
现有桃子 1 个 累计桃子 148 个
最多能吃到 148 个桃子

taoh 3000 3000
现有桃子 3000 个 累计桃子 3000 个
现有桃子 1000 个 累计桃子 4000 个
现有桃子 333 个 累计桃子 4333 个
现有桃子 111 个 累计桃子 4444 个
现有桃子 37 个 累计桃子 4481 个
现有桃子 12 个 累计桃子 4493 个
现有桃子 4 个 累计桃子 4497 个
现有桃子 1 个 累计桃子 4498 个
最多能吃到 4498 个桃子

      即使是一开始有多达3000元,也只要递归8个层次也就能计算出结果来。

      在历届计算机程序设计竞赛中经常都有类似的“趣味数学”、“动脑筋”题目。从上面的解析我们能够清楚地看到:这些“趣味数学”、“动脑筋”题目的思维方式和编程是完全相通的。所以计算机程序设计竞赛考试“趣味数学”、“动脑筋”题目也是顺理成章的事情。考试过后将这一类题目编写成程序,更是深入学编程的好方法。

有趣的桃子和桃核问题
有趣的桃子和桃核问题

有趣的桃子和桃核问题

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有