龙空技术网

看我这样教孩子学编程,孩子瞬间秒懂什么是枚举法

趣学联盟 78

前言:

现在看官们对“枚举算法的设计步骤”大致比较关心,兄弟们都想要了解一些“枚举算法的设计步骤”的相关资讯。那么小编同时在网摘上汇集了一些有关“枚举算法的设计步骤””的相关内容,希望看官们能喜欢,同学们一起来了解一下吧!

前段时间,持续阴雨天气,我闲着没事就把Jerry叫了过来:“Jerry,作业做完了吗?”

Jerry:“做完了。”

我:“下雨天打孩子,闲着也是闲着。给你加点练习吧。”

Jerry:“等会儿,你刚才说什么?”

我:“没什么,我说我给你出道题。”

Jerry:“好吧。匹马陷身泥里,看老畜生如何出蹄(题)。”

我:“……今有物不知其数,三三数之剩二;五五数之剩三;七七数之剩二。问物几何?”

Jerry:“……能说人话吗?”

我:“这怎么不是人话,这是古人说的话。这道题出自我们中国古代一本很厉害的算术书,叫《孙子算经》。好吧,说多了你也不懂。这道题说的是:有一个整数,除以三余二,除以五余三,除以七余二,问这个整数是多少?“

孙子算经

Jerry:”你早这么说我不就懂了嘛。“

Jerry拿起纸和笔开始了计算。

半个小时后……

Jerry:”算不出来。“

我:”教你一个编程的方法吧,叫枚举法,或者叫穷举法。“

Jerry:”什么叫枚举法?“
我:”其实说白了就是用笨办法,对所有可能的结果逐一加以验证,排除那些错误的结果,找到正确的答案。举例来说,我们可以把从1到1000的数字,每一个数都去做一遍除法,计算结果如果不符合题目的条件,就把这个数排除,如果符合,那不就找到答案了吗?“

Jerry:”听起来好简单啊。可这样算也太麻烦了吧?1000个数我要算到什么时候去?“

我:”没错,如果你用纸和笔来算,就太麻烦了。1000个数你可能 要算一整个晚上的时间;如果是10000个数,你估计算不到一半就会睡着了;如果是100000个数……喂,Jerry你醒醒!……但你记不记得我以前跟你说过,计算机最擅长的事是什么?就是重复计算!机器也是不会疲倦,不知道休息的,所以像这种重复计算的工作,我们人类可以写一段程序让计算机去运行,只要你的算法正确,它们会很快就算出来的。“

Jerry:”这么神奇?“

我 :”不信我们来试试看。我们用你熟悉的scratch就可以实现。“

几分钟后……

程序完成,看下效果吧。

视频加载中...

标签: #枚举算法的设计步骤