Golden Thumb

1-on-1 tutor of chosen kids
个人资料
正文

出自二年级的数学爱好者之手的迷你“小论文”:四妙招

(2019-09-01 09:57:20) 下一个

仅仅二年级的小宝马吕斯,却能轻松对付滑铁卢大学的Beaver计算机竞赛五六年级组的所有问题。学习能力之强,从他善于抽象总结可略见一斑。

计算机世界只有三样东西:顺序执行,分支判断,循环。这节课,小宝马吕斯活学活用循环变量,并在课后发表“四妙招”。

金拇指:

 

今天小宝同学脑洞大开,在书写循环变量表达式的时候反应神速,一气呵成。显示了强大的数学功底。

 

课结束时,小宝大声说:“其实另一半棋子用大写表示也是有妙招的,下节课我来教你“。这是今晚我第四次对他服气。

 

马吕斯:

 

分享几个小妙招

 

1,列排公式:小数 + i * 大数与小数的差

2,有几行,写“for loop”时就是0...几

3,黑色与红色列排数不变

4,红色横排是0200003,黑色就是9799996。

 

这些都是帮你增加效率的。

 

金拇指:

 

妙招实在太妙了。感谢分享。

 

马爹:

 

这是什么意思啊?谁能解释下?

 

金拇指:

 

我不妨称之为出自最年轻的数学爱好者之手的数学论文。

 

背景介绍:利用循环往中国象棋初始棋盘上摆棋子。棋盘有九列(0,1,2,3,4,5,6,7,8),十行(0,1,2,3,4,5,6,7,8,9)。

 

马吕斯妙招(1):说的是比如两颗马所处的列 1 和 7,对于从 0 循环到 1 的循环变量 i 来说,可以表达成 1 + i * 6,其中 6 是 7 和 1 之差。再比如两颗象所处的列 2 和 6,对于从 0 循环到 1 的循环变量 i 来说,可以表达成 2 + i * 4,其中 4 是 6 和 2 之差。

 

马吕斯妙招(2):说的是在用 for 循环改进之前,重复的代码行有 n 个,循环变量 i 的范围就可以写成 0..

 

马吕斯妙招(3):说的是黑棋和对应的红棋所处的列一样,不必重复计算。

 

马吕斯妙招(4):说的是在上方的红色棋子的行的序号分别为五个 0 (将用一个,车马象士每对各用一个),一个 2(一对炮),一个 3(五颗卒子);在下方的黑色棋子的行的序号分别为五个 9 (帅用一个,车马相仕每对各用一个),一个 7(一对炮),一个 6(五颗兵)。很显然作者注意到了9 - 2 = 7,9 - 3 = 6 这样的内在联系。

 

[ 打印 ]
阅读 ()评论 (0)
评论
目前还没有任何评论
登录后才可评论.