迭代法 迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代法又分为精确迭代和近似迭代。“二分法”和“牛顿迭代法”属于近似迭代法。 迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。 利用迭代算法解决问题,需要做好以下三个方面的工作: 一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。 二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。 三、对迭代过程进行控制。在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另 一种是所需的迭代次数无法确定。对于前一种情况,可以构 建一个固 定次数的循 环 来实 现 对迭代过程的控制;对于后 一种情况,需要进一步分析 出用来结束迭代过程的条 件 。 例 1 : 一个饲 养 场 引 进一只 刚 出生 的新品 种兔 子 ,这种兔 子 从出生 的下一个月开 始 ,每月 新生 一只 兔 子 ,新生 的兔 子 也如此 繁 殖 。如果 所有 的兔 子 都不死 去,问到第 12 个月 时,该 饲 养 场 共 有 兔 子 多 少只 ? 分析 : 这是一个典 型 的递推问题。我 们 不妨 假 设 第 1 个月 时兔 子 的只 数为 u 1 ,第 2 个月 时兔 子 的只 数为 u 2 ,第 3 个月 时兔 子 的只 数为 u 3 ,……根 据题意 ,“这种兔 子 从出生 的下一个月 开 始 ,每月 新生 一只 兔 子 ”,则 有 u 1 = 1 , u 2 = u 1 + u 1 × 1 = 2 , u 3 = u 2 + u 2 × 1 = 4 ,…… 根 据 这个规 律 ,可以归 纳 出下面的递推公式: u n = u n - 1 × 2 (n ≥ 2) 对应 u n 和 u n - 1 ,定义 两个迭代变量 y 和 x ,可将 上 面的递推公式转换 成如下迭代关...