一、迭代法简介
迭代法(iteration)是现代计算机求解问题的一种基本形式。迭代法与其说是一种算法,更是一种思想,它不像传统数学解析方法那样一步到位得到精确解,而是步步为营,逐次推进,逐步接近。迭代法又称辗转法或逐次逼近法。
迭代法的核心是建立迭代关系式。迭代关系式指明了前进的方式,只有正确的迭代关系式才能取得正确解。
二、迭代法解决海藻问题
问题描述:
假设在空池塘中放入一颗水藻,该类水藻会每周长出三颗新的水藻,问十周后,池塘中有多少颗水藻?
第1周的水藻数量:1;
第2周的水藻数量:1+1×3;
第3周的水藻数量:1+1×3+(1+1×3)×3
可以归纳出从当前周水藻数量到下一周水藻数量的迭代关系式。设上周水藻数量为x,从上周到本周水藻将增加的数量为y,本周的水藻数量为x^′,那么在一次迭代中
y←3x
x^′←x+y
迭代开始时,水藻的数量为1,为迭代法的初始条件。
迭代次数为9(不包括第一周),为迭代过程的控制条件。
解决代码如下
x = 1 # 初始条件:第一周水藻数量
times = 1 # 迭代次数
while times < 10: # 迭代过程
y = 3 * x
x = x + y
times += 1
print("第%d周的水藻数量:%d" % (times, x))