题目内容
电视剧《华罗庚》中有一个镜头:华罗庚少年时代用心算法解出了“孙子算经”中的难题,原文是:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?学曰:二十三.”即一个正整数,被3,5,7除,余数分别为2,3,2.“孙子算经”解法的口诀是:“三人同行七十稀,五树梅花二十一,其子团圆正月丰,除百零五便得知.”
这个算法又叫“韩信点兵”.相传韩信才略过人,领兵打仗时,为了对敌方保密,从不点自己军队的人数,只是让他的士兵以三人一排很快地从他面前过去,再以五人一排走一次,最后以七人一排走过去,由于队伍走得很快,别人根本来不及数有多少人.然而韩信只对各队士兵的最后一排掠一眼,就知道总数了,他利用的就是上面的这个口诀,你能理解这个口诀吗?
求解“孙子问题”的算法有很多,你能想出什么样的算法?
答案:
解析:
提示:
解析:
解:程序框图如图. 程序: m=1 DO r1=m MOD 3 r2=m MOD 5 r3=m MOD 7 m=m+1 LOOP UNTIL r1=2And r2=3And r3=2 PRINT m END |
提示:
我们只介绍一种普通的算法. “孙子问题”相当于求关于x、y、z的不定方程组 设所求的数为m,根据题意m应同时满足下列三个条件: m MOD 3=2, m MOD 5=3, m MOD 7=2, 让m从2开始检验,若三个条件同时满足,则m即为所求. |
练习册系列答案
相关题目