程序: INPUT “m=”;m INPUT “n=”;n IF m x=m m=n n=x END IF r=m MOD n WHILE r<>0 r=m MOD n m=n n=r WEND PRINT n END 要点诠释: 辗转相除法的基本步骤是用较大的数除以较小的数,考虑到算法中的赋值语句可以对同一变量多次赋值,我们可以把较大的数用变量m表示,把较小的数用变量n表示,这样式子就是一个反复执行的步骤,因此可以用循环结构实现算法. 知识点二:更相减损术 我国早期也有解决求最大公约数问题的算法,就是更相减损术. 更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之. 翻译出来为: 第一步:任意给出两个正整数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步. 第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数. 理论依据: 由,得与有相同的公约数 更相减损术一般算法: 第一步,输入两个正整数; 第二步,如果,则执行,否则转到; 第三步,将的值赋予; 第四步,若,则把赋予,把赋予,否则把赋予,重新执行; 第五步,输出最大公约数. 程序: INPUT “a=”,a INPUT “b=”,b WHILE a<>b IF a>=b a=a-b; ELSE b=b-a WEND END PRINT b 或者 INPUT “请输入两个不相等的正整数”;a,b i=0 WHILE a MOD 2=0 AND b MOD 2=0 a=a/2 b=b/2 i=i+1 WEND DO IF b t=a a=b b=t END IF c=a-b a=b b=c LOOP UNTIL a=b PRINT a^i END 要点诠释: 用辗转相除法步骤较少,而更相减损术虽然有些步骤较长,但运算简单. 知识点三:秦九韶计算多项式的方法