- 6
- 0
- 约1.51万字
- 约 97页
- 2019-09-02 发布于辽宁
- 举报
8.6.4 递推法(迭代法) 使用递推法来解决的问题中,前一个状态和后一个状态间存在着一定的函数关系。 递推法的关键在于找到正确的函数关系,然后使用循环语句来实现。 1.最大公约数和最小公倍数 2.Fibonacci数列 3.累加中的递推 4.迭代法求方程的近似根 1.最大公约数和最小公倍数 若已知整数x和y的最大公约数是k,则它们的最小公倍数是x×y/k。 求两个整数最大公约数的两种方法。 (1)辗转相除法(欧几里德算法) (2)相减法 1.最大公约数和最小公倍数 (1)辗转相除法(欧几里德算法) 递推公式如下: 算法描述如下: 步骤1:输入两个自然数x、y,令x=y。 步骤2:求x除以y的余数r。 步骤3:y?x,r?y。 步骤4:若r≠0,则转步骤2,否则转步骤5。 步骤5:输出x。 1.最大公约数和最小公倍数 (2)相减法。 递推公式如下: 两个数中从大数中减去小数,所得的差若与小数相等,则该数为最大公约数。若不等,对所得的差和小数,继续从大数中减去小数,……,直到两个数相等为止。 程序举例 例8-12 用欧几里德算法求x和y的最大公约数。 If x y Then temp=x: x=y: y=temp Do 求最大公约数 r=x Mod y
原创力文档

文档评论(0)