1.3 中国古代数学中的算法案例
学习目标 1.理解更相减损之术中的数学原理,并能根据这些原理进行算法分析.2.理解割圆术中蕴含的数学原理.3.了解秦九韶算法及利用它提高计算效率的本质.4.对简单的案例能设计程序框图并写出算法.
知识点一 更相减损之术
更相减损之术的运算步骤
第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
知识点二 割圆术
1.割圆术的算法
S1 假设圆的半径为1,面积为S,圆内接正n边形面积为Sn,边长为xn,边心距为hn,先从圆内接正六边形的面积开始算起,即n=6,则正六边形的面积S6=6×;
S2 利用公式S2n=Sn+n··xn(1-hn)重复计算,就可得到正十二边形、正二十四边形...的面积.因为圆的半径为1,所以随着n的增大,S2n的值不断趋近于圆周率,这样不断计算下去,就可以得到越来越精密的圆周率近似值.
2.割圆术的算法思想
刘徽从圆内接正六边形开始,让边数逐次加倍,逐个算出这些圆内接正多边形的面积,从而得到一系列逐渐递增的数值,来一步一步地逼近圆面积,最后求出圆周率的近似值.用刘徽自己的话概括就是"割之弥细,所失弥少,割之又割,以至于不可割,则与圆合体而无所失矣."
知识点三 秦九韶算法
思考 衡量一个算法是否优秀的重要参数是速度.把多项式f(x)=x5+x4+x3+x2+x+1变形为f(x)=((((x+1)x+1)x+1)x+1)x+1,然后求当x=5时的值,为什么比常规逐项计算省时?
答案 从里往外计算,充分利用已有成果,可减少重复计算.
梳理 秦九韶算法的一般步骤:
把一个n次多项式f(x)=anxn+an-1xn-1+...+a1x+a0改写成如下形式: