数学小组报告的成功展示,如同一阵春风,不仅吹散了初次合作可能存在的生疏感,更在小组内部催生出一股积极向上的活力。
课间、午休时,西人聚在一起讨论数学题或闲聊的场景变得愈发自然。
这天午休,阳光正好,几人凑在教室后排的空桌上。
张涛啃着苹果,含糊地问:
“我说,咱们小组这就算‘功成名就’了?下次活动搞点啥?总不能老是筛法吧?”
李浩扶了扶眼镜,认真地说:
“筛法只是一个切入点。数论里值得探究的问题很多,比如同余方程、不定方程,或者一些经典的数论函数性质…”
林薇薇连忙摆手:
“浩哥,太深奥了怕我跟不上。能不能…还是找点像筛法这样,能动手算一算、看得见摸得着的题目?”
苏白看着讨论的伙伴,心中己有考量。
他笑了笑,说:
“李浩的思路有深度,薇薇的提议也很实际。我倒有个想法,我们可以继续沿着‘算法效率’这个方向走,但换个更贴近我们知识背景的载体。”
他拿起粉笔,在旁边的小黑板上写下几个字:
“最大公约数(GCD)的算法”。
“最大公约数我们都学过,用短除法或者质因数分解法。
但有没有想过,如果数字很大,这些方法可能很慢?有没有更高效的计算方法?”
苏白抛出了问题。
张涛眨眨眼:“公约数还能有啥花样?不就是找公共的因数吗?”
“不然。”
苏白摇摇头,在黑板上写下两个数字:
1071和462。
“试试用短除法找它们的最大公约数。”
张涛和林薇薇立刻拿出草稿纸演算起来。
分解质因数确实有些繁琐。
李浩则若有所思,他似乎听说过有更高效的方法。
苏白等大家体验了传统方法的“慢”之后,才缓缓道:
“其实,有一个非常巧妙的方法,叫做辗转相除法,也叫欧几里得算法。”
他在黑板上写下算法步骤:
1。用较大数除以较小数,得到余数。
2。用之前的除数除以这个余数,得到新的余数。
3。重复这个过程,首到余数为零。
4。此时,最后的除数就是最大公约数。
他以1071和462为例进行演示:
1071÷462=2…147