论文部分内容阅读
人民教育出版社出版的普通高中课程标准实验教科书《数学③》(必修)第一章“算法初步”中的1.3节“算法案例”中引入了“辗转相除法”与“更相减损术”的算法案例,教科书主要通过举例集中呈现“辗转相除法”与“更相减损术”的算法过程和递归的算法思想,但没有细致揭露其中蕴含的算理,回答了是什么的问题,没有回答为什么的问题.作为教师,需要超越教科书的视野限制,懂得知识的来龙去脉,特别是教科书中涉及到的古代数学史部分,需要探究其发生发展的过程,这样才能在教学时有更深刻的体会,才会情不自禁地感染学生.据此,本文觉得有必要对“辗转相除法”与“更相减损术”做一下梳理,并以此为例,探究教师解读教科书的方法.
1 什么是“辗转相除法”与“更相减损术”
根据数学史料记载,“辗转相除法”是公元前三百多年前的古希腊数学家欧几里得(Euclid)在《几何原本》(第Ⅶ卷,命题ⅰ和命题ⅱ)中首先提出的求最大公约数的方法,所以“辗转相除法”又称为“欧几里得算法”.目前见到书中介绍的“辗转相除法”主要有以下几种:
第一种来自兰纪正、朱恩宽翻译的陕西科学技术出版社出版的《欧几里得几何原本》:“设有不相等的二数,若依次从大数中不断地减去小数,若余数总是量不尽它前面一个数,直到最后的余数为一个单位,则该二数互素.若两数不互素,则依次从大数中不断减去较小者,将有某个余数能量尽它前面一个,而且这最后的余数不是一个单位”[1].
第二种来自李善兰翻译的《几何原本》中的阐述:“两不(相)等数,辗转相减,余一而止,则为两无等数之数.两数非无等数,求其最大等数.法曰:……辗转以小减大,必有减余数可度两数,而减余非为一.若余一,则为无等之数,而与所设之题相反矣,故最后减余数必为等数也”[2].
第三种来自张奠宙、孔凡哲、黄建弘、黄荣良、唐彩斌著的《小学数学研究》:“若a与b是两数,且a>b,从a减去足够多次的b,一直到余数r小于b;然后再从b中减去足够多次的r,直到余数小于r,如此往下进行.若a与b互质,最后余数是1,那么1就是它们的最大公因数;若a与b不互质,就会在某一阶段出现最后一致除尽前一个数的情况,于是这最后的数便是a与b的最大公因数”[3].
第四种来自普通高中课程标准实验教科书《数学③》(必修)中的阐述:“例如用辗转相除法求8251与6105的最大公约数,我们可以考虑用两数中较大的数除以较小的数求得商和余数:8251=6105×1+2146.由此可得,6105与2146的公约数也是8251与6105的公约数,反过来,8251与6105的公约数也是6105与2146的公约数,所以它们的最大公约数相等.对6105与2146重复上述步骤:6105=2146×2+1813,继续重复上述步骤:2146=1813×1+333,1813=333×5+148,333=148×2+37,148=37×4.最后的除数37是148和37的最大公约数,也就是8251与6105的最大公约数,这就是辗转相除法”[4].
从上述的第一种阐述和第二种阐述可以看出,二者对“辗转相除法”求最大公约数的基本描述都是“将大数减小数”,但第一种强调“依次”,第二种强调“辗转”.欧几里得强调“依次”可能为辗转相除法的命名埋下了伏笔,李善兰强调“辗转”可能受到了中国“更相减损术”的影响[5].
第三种和第四种的阐述方式就比较明显地看出“辗转相除法”求最大公约数的基本数学形式.即,若a与b是两个自然数,且a>b,则
“更相减损术”记载在公元1世纪前后、我国最重要的数学文献《九章算术》第一章“方田”中,是对约分方法的完整总结.《九章算术·方田》第六题:“有九十一分之四十九.问约之得几何?答曰:十三分之七.术曰:可半者半之.不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之”[6].
《九章算术》是以算筹为算具的数学书,以算筹演示约分过程如下所示:
翻译为现代语言如下:
第一步:任意给定分数[SX(]m[]n[SX)](m,n为两个正整数);判断m,n是否都是偶数.如是,则用2约简;若不是,则执行第二步.
第二步:对分子和分母辗转相减,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减去小数.继续这个操作,直到所得的数相等为止.
第三步:以等数约之,可得到(最简)既约分数.
如果直接使用“更相减损术”来求两个数的最大公约数,则有两种做法:
一种是按照上述约分的步骤,所求的最大公约数就是这个等数或是这个数与约简的数的乘积,例如,求30和18的最大公约数,第一步用2约简得15和9,第二步,15-9=6,9-6=3,6-3=3,则30和18的最大公约数就是2×3=6.人民教育出版社出版的普通高中课程标准实验教科书《数学③》(必修)中即采用此种算法.
另一种是直接采取“更相减损术”的第二步,有学者称其为“辗转相减法”[7],即任意给定两个正整数,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减去小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.例如,求30和18的最大公约数,30-18=12,18-12=6,12-6=6,则6就是30和18 的最大公约数.
通过上述分析,可以发现“辗转相除法”和“更相减损术”求最大公约数的方法的实质都是相同的,均强调“大数辗转减小数”,现进行举例说明:
例如求80和24的最大公约数:
“辗转相除法”表示如下:
80÷24=3……8 → 24÷8=3 → 80和24的最大公约数为8.
“更相减损术”表示如下:
①先用2约简 → 40-12=28 → 28-12=16 → 16-12=4 → 12-4=8 → 8-4=4 → 80和24的最大公约数为2×4=8.
②80-24=56→56-24=32→32-24=8→24-8=16→16-8=8→80和24的最大公约数为8. 通过比较发现“更相减损术”求最大公约数的运算过程可以简化为“辗转相除法”求最大公约数的运算过程,但第一步比“辗转相除法”多了一个约简的过程.此外,“更相减损术”在某些时候比“辗转相除法”要优越,例如在求两个以上正整数的最大公约数时,“辗转相除法”是先求出其中两数的最大公因数,再求出它与第三个数的最大公因数,而“更相减损术”可一次求出任意多个数的最大公约数,算法是:将最小数乘以不同的因子与其余各数进行减法运算,将差为0的数据筛选掉,若只剩下两个数,其中一个为0时,则结束,此时的非0数据便是所求的最大公约数,否则重复上述步骤[8].
2 “辗转相除法”与“更相减损术”的基本原理
最大公约数(greatest common divisor)简写为gcd,如果求a和b两个正整数的最大公约数,可以表示为gcd(a,b).正如前文所述,若a>b,依照“辗转相除法”和“更相减损术”的算法思想,则求最大公约数的过程如下所示:
欧几里得在《几何原本》中用线段进行了直观演示和逻辑论证[9]:
设AB,CD是不互素的两数,如果CD量尽AB,这时它也量尽它自己,那么CD就是CD和AB的一个公度数,并且显然CD也是最大公度数.
这是因为没有比CD更大的数能量尽CD.但是如果CD量不尽AB,那么从AB和CD中的较大者不断减去较小者,如此,将有某个余数能量尽它前面一个.这最后的余数不是一个单位,否则AB和CD就是互素的,这与假设矛盾.所以某数将是量尽它前面的一个余数.
现在设CD量出BE,余数EA小于CD,设EA量出DF,余数FC小于EA,又设CF量尽AE.这样由于CF量尽AE,以及AE量尽DF,所以CF也量尽DF.因为它也量尽它自己,所以它也量尽整体CD.然而CD量尽BE,所以CF也量尽BE.因为CF也量尽EA,所以它也量尽整体BA.然而CF也量尽CD,所以CF量尽AB,CD.所以CF是AB和CD的一个公度数.接下来证明它也是最大公度数.
因为,如果CF不是AB和CD的最大公度数,那么必有大于CF的某数将量尽AB和CD,设这样的数为G.现在,由于G量尽CD,而CD量尽BE,那么G也量尽BE.因为它也量尽整体BA,所以它也量尽余数AE.因为AE量尽DF,所以G也量尽DF.因为G也量尽整体DC,所以G也量尽余数CF,即较大的数量尽较小的数,这是不可能的,所以没有大于CF的数能量尽AB和CD,因而CF是AB和CD的最大公度数.
3 小结
如上所述,数学教师只有清楚了什么是“辗转相除法”和“更相减损术”,才能够站在数学的视角看教科书;清楚了“辗转相除法”与“更相减损术”为什么可以求出两个正整数的最大公约数的问题,教师才能够从数学本质回答学生的问题和困惑,才能真正使学生感受和理解古代数学知识的魅力,超越教科书“弱水三千,只需取一瓢饮”所带来的思维局限性.
除了清楚所要教的数学知识的来龙去脉,教师在解读教科书时还需做到“两个比较,一个参照”,以便更好地将课程标准、教科书以及教师融为一体:
两个方面的比较:一是将教科书内容安排与教师用书作比较,看教师用书中所要表达的意图是否在教科书中得到了充分体现.例如,教师用书中“感受算法在解决实际问题中的重要作用”这点在教科书中未得到充分体现,教科书中举的实例都是纯数学的实例,这就需要进行调整和补充;二是将教师用书中的编写意图与课程标准比较,看是否遵循了课程标准的基本精神和基本要求,例如,课标中提出“通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献”,教科书同时引入了西方和中国古代的数学案例,但在编写意图里没有强调“体会中国古代数学对世界数学发展的贡献”,只是强调了其中的“算法思想”,这样的安排可能会误导教师在教学中忽略了情感、态度和价值观目标的培养.这是教师评判意识的重要体现,也是教师主观能动作用发挥的重要体现.因为这可以决定教师对教科书进行“再创造”的方向和空间.
教师还需要做到“一个参照”,即参照其它版本的教科书对这部分内容的处理,以便获得启发,例如北师版通过具体问题情境引入算法,以及引入“韩信点兵”的故事更能反映算法在解决实际问题中的作用.
参考文献
[1] [9]兰纪正,朱恩宽译.欧几里得几何原本[M].西安:陕西科学技术出版社,2003.194-195,196-197.
[2] [5][6]沈康身.更相减损术源流[J].自然科学史研究,1982,1(03):193-194.
[3] 张奠宙,孔凡哲,黄建弘,黄荣良,唐采斌.小学数学研究[M].北京:高等教育出版社,2008.65.
[4] 刘绍学,张淑梅主编.普通高中课程标准实验教科书③(必修)[M].北京:人民教育出版社,2007.34.
[7] 马再鸣,蒋晓云.更相减损术不是求最大公约数的算法[J].西昌学院学报·自然科学版,2006,20(02):32.
[8] 白海东,朱丽敏.辗转相除法求多个数的最大公约数的递归实现[J].鸡西大学学报,2005,5(03):39.
作者简介:严家丽(1986-),女,安徽六安人,东北师范大学教育科学学院博士研究生,主要研究方向为课程与教学论,数学教育.
1 什么是“辗转相除法”与“更相减损术”
根据数学史料记载,“辗转相除法”是公元前三百多年前的古希腊数学家欧几里得(Euclid)在《几何原本》(第Ⅶ卷,命题ⅰ和命题ⅱ)中首先提出的求最大公约数的方法,所以“辗转相除法”又称为“欧几里得算法”.目前见到书中介绍的“辗转相除法”主要有以下几种:
第一种来自兰纪正、朱恩宽翻译的陕西科学技术出版社出版的《欧几里得几何原本》:“设有不相等的二数,若依次从大数中不断地减去小数,若余数总是量不尽它前面一个数,直到最后的余数为一个单位,则该二数互素.若两数不互素,则依次从大数中不断减去较小者,将有某个余数能量尽它前面一个,而且这最后的余数不是一个单位”[1].
第二种来自李善兰翻译的《几何原本》中的阐述:“两不(相)等数,辗转相减,余一而止,则为两无等数之数.两数非无等数,求其最大等数.法曰:……辗转以小减大,必有减余数可度两数,而减余非为一.若余一,则为无等之数,而与所设之题相反矣,故最后减余数必为等数也”[2].
第三种来自张奠宙、孔凡哲、黄建弘、黄荣良、唐彩斌著的《小学数学研究》:“若a与b是两数,且a>b,从a减去足够多次的b,一直到余数r小于b;然后再从b中减去足够多次的r,直到余数小于r,如此往下进行.若a与b互质,最后余数是1,那么1就是它们的最大公因数;若a与b不互质,就会在某一阶段出现最后一致除尽前一个数的情况,于是这最后的数便是a与b的最大公因数”[3].
第四种来自普通高中课程标准实验教科书《数学③》(必修)中的阐述:“例如用辗转相除法求8251与6105的最大公约数,我们可以考虑用两数中较大的数除以较小的数求得商和余数:8251=6105×1+2146.由此可得,6105与2146的公约数也是8251与6105的公约数,反过来,8251与6105的公约数也是6105与2146的公约数,所以它们的最大公约数相等.对6105与2146重复上述步骤:6105=2146×2+1813,继续重复上述步骤:2146=1813×1+333,1813=333×5+148,333=148×2+37,148=37×4.最后的除数37是148和37的最大公约数,也就是8251与6105的最大公约数,这就是辗转相除法”[4].
从上述的第一种阐述和第二种阐述可以看出,二者对“辗转相除法”求最大公约数的基本描述都是“将大数减小数”,但第一种强调“依次”,第二种强调“辗转”.欧几里得强调“依次”可能为辗转相除法的命名埋下了伏笔,李善兰强调“辗转”可能受到了中国“更相减损术”的影响[5].
第三种和第四种的阐述方式就比较明显地看出“辗转相除法”求最大公约数的基本数学形式.即,若a与b是两个自然数,且a>b,则
“更相减损术”记载在公元1世纪前后、我国最重要的数学文献《九章算术》第一章“方田”中,是对约分方法的完整总结.《九章算术·方田》第六题:“有九十一分之四十九.问约之得几何?答曰:十三分之七.术曰:可半者半之.不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之”[6].
《九章算术》是以算筹为算具的数学书,以算筹演示约分过程如下所示:
翻译为现代语言如下:
第一步:任意给定分数[SX(]m[]n[SX)](m,n为两个正整数);判断m,n是否都是偶数.如是,则用2约简;若不是,则执行第二步.
第二步:对分子和分母辗转相减,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减去小数.继续这个操作,直到所得的数相等为止.
第三步:以等数约之,可得到(最简)既约分数.
如果直接使用“更相减损术”来求两个数的最大公约数,则有两种做法:
一种是按照上述约分的步骤,所求的最大公约数就是这个等数或是这个数与约简的数的乘积,例如,求30和18的最大公约数,第一步用2约简得15和9,第二步,15-9=6,9-6=3,6-3=3,则30和18的最大公约数就是2×3=6.人民教育出版社出版的普通高中课程标准实验教科书《数学③》(必修)中即采用此种算法.
另一种是直接采取“更相减损术”的第二步,有学者称其为“辗转相减法”[7],即任意给定两个正整数,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减去小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.例如,求30和18的最大公约数,30-18=12,18-12=6,12-6=6,则6就是30和18 的最大公约数.
通过上述分析,可以发现“辗转相除法”和“更相减损术”求最大公约数的方法的实质都是相同的,均强调“大数辗转减小数”,现进行举例说明:
例如求80和24的最大公约数:
“辗转相除法”表示如下:
80÷24=3……8 → 24÷8=3 → 80和24的最大公约数为8.
“更相减损术”表示如下:
①先用2约简 → 40-12=28 → 28-12=16 → 16-12=4 → 12-4=8 → 8-4=4 → 80和24的最大公约数为2×4=8.
②80-24=56→56-24=32→32-24=8→24-8=16→16-8=8→80和24的最大公约数为8. 通过比较发现“更相减损术”求最大公约数的运算过程可以简化为“辗转相除法”求最大公约数的运算过程,但第一步比“辗转相除法”多了一个约简的过程.此外,“更相减损术”在某些时候比“辗转相除法”要优越,例如在求两个以上正整数的最大公约数时,“辗转相除法”是先求出其中两数的最大公因数,再求出它与第三个数的最大公因数,而“更相减损术”可一次求出任意多个数的最大公约数,算法是:将最小数乘以不同的因子与其余各数进行减法运算,将差为0的数据筛选掉,若只剩下两个数,其中一个为0时,则结束,此时的非0数据便是所求的最大公约数,否则重复上述步骤[8].
2 “辗转相除法”与“更相减损术”的基本原理
最大公约数(greatest common divisor)简写为gcd,如果求a和b两个正整数的最大公约数,可以表示为gcd(a,b).正如前文所述,若a>b,依照“辗转相除法”和“更相减损术”的算法思想,则求最大公约数的过程如下所示:
欧几里得在《几何原本》中用线段进行了直观演示和逻辑论证[9]:
设AB,CD是不互素的两数,如果CD量尽AB,这时它也量尽它自己,那么CD就是CD和AB的一个公度数,并且显然CD也是最大公度数.
这是因为没有比CD更大的数能量尽CD.但是如果CD量不尽AB,那么从AB和CD中的较大者不断减去较小者,如此,将有某个余数能量尽它前面一个.这最后的余数不是一个单位,否则AB和CD就是互素的,这与假设矛盾.所以某数将是量尽它前面的一个余数.
现在设CD量出BE,余数EA小于CD,设EA量出DF,余数FC小于EA,又设CF量尽AE.这样由于CF量尽AE,以及AE量尽DF,所以CF也量尽DF.因为它也量尽它自己,所以它也量尽整体CD.然而CD量尽BE,所以CF也量尽BE.因为CF也量尽EA,所以它也量尽整体BA.然而CF也量尽CD,所以CF量尽AB,CD.所以CF是AB和CD的一个公度数.接下来证明它也是最大公度数.
因为,如果CF不是AB和CD的最大公度数,那么必有大于CF的某数将量尽AB和CD,设这样的数为G.现在,由于G量尽CD,而CD量尽BE,那么G也量尽BE.因为它也量尽整体BA,所以它也量尽余数AE.因为AE量尽DF,所以G也量尽DF.因为G也量尽整体DC,所以G也量尽余数CF,即较大的数量尽较小的数,这是不可能的,所以没有大于CF的数能量尽AB和CD,因而CF是AB和CD的最大公度数.
3 小结
如上所述,数学教师只有清楚了什么是“辗转相除法”和“更相减损术”,才能够站在数学的视角看教科书;清楚了“辗转相除法”与“更相减损术”为什么可以求出两个正整数的最大公约数的问题,教师才能够从数学本质回答学生的问题和困惑,才能真正使学生感受和理解古代数学知识的魅力,超越教科书“弱水三千,只需取一瓢饮”所带来的思维局限性.
除了清楚所要教的数学知识的来龙去脉,教师在解读教科书时还需做到“两个比较,一个参照”,以便更好地将课程标准、教科书以及教师融为一体:
两个方面的比较:一是将教科书内容安排与教师用书作比较,看教师用书中所要表达的意图是否在教科书中得到了充分体现.例如,教师用书中“感受算法在解决实际问题中的重要作用”这点在教科书中未得到充分体现,教科书中举的实例都是纯数学的实例,这就需要进行调整和补充;二是将教师用书中的编写意图与课程标准比较,看是否遵循了课程标准的基本精神和基本要求,例如,课标中提出“通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献”,教科书同时引入了西方和中国古代的数学案例,但在编写意图里没有强调“体会中国古代数学对世界数学发展的贡献”,只是强调了其中的“算法思想”,这样的安排可能会误导教师在教学中忽略了情感、态度和价值观目标的培养.这是教师评判意识的重要体现,也是教师主观能动作用发挥的重要体现.因为这可以决定教师对教科书进行“再创造”的方向和空间.
教师还需要做到“一个参照”,即参照其它版本的教科书对这部分内容的处理,以便获得启发,例如北师版通过具体问题情境引入算法,以及引入“韩信点兵”的故事更能反映算法在解决实际问题中的作用.
参考文献
[1] [9]兰纪正,朱恩宽译.欧几里得几何原本[M].西安:陕西科学技术出版社,2003.194-195,196-197.
[2] [5][6]沈康身.更相减损术源流[J].自然科学史研究,1982,1(03):193-194.
[3] 张奠宙,孔凡哲,黄建弘,黄荣良,唐采斌.小学数学研究[M].北京:高等教育出版社,2008.65.
[4] 刘绍学,张淑梅主编.普通高中课程标准实验教科书③(必修)[M].北京:人民教育出版社,2007.34.
[7] 马再鸣,蒋晓云.更相减损术不是求最大公约数的算法[J].西昌学院学报·自然科学版,2006,20(02):32.
[8] 白海东,朱丽敏.辗转相除法求多个数的最大公约数的递归实现[J].鸡西大学学报,2005,5(03):39.
作者简介:严家丽(1986-),女,安徽六安人,东北师范大学教育科学学院博士研究生,主要研究方向为课程与教学论,数学教育.