简单理解迭代

博客介绍了迭代法,它是不断用变量旧值递推新值的过程,以猜数字游戏为例说明迭代过程。还提到迭代法需要三个要素,并给出用迭代法求解斐波那契数的问题,给出了斐波那契数列的定义,且展示了用C语言实现求解第n项值的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单理解迭代

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。

迭代的例子

大家平时聚会时会经常玩一个小游戏——猜数字,由A同学写一个数字(1-100),然后由后面的同学(BCD……)去猜,猜中者喝酒或表演节目。
A在手机上写一个数字,其他人不知道,假设是68;
B猜一个数字,例如50。此时A会告诉大家猜小了;
接下来C从50-100之间猜一个数,例如80。此时A会告诉大家猜大了;
D同学就从50-80之间猜一个数字,例如70,大了。
E同学从50-70猜一个数字,例如65,小了。
F同学从65-70猜一个数字,例如68,猜中了,F喝酒或表演节目,此轮游戏结束。
这就是一个典型的迭代问题,每猜一次数字就是一次迭代的过程,最终逼向A同学所设置的数字。

迭代法需要三个要素:

    1.迭代变量:在迭代过程中,不断由旧值迭代为新值的变量。
    猜数字游戏中的所要猜测的数字变量。
    2.新值产生的规则(关系式):如何由旧值迭代为新值,比如递推,倒推等。
    猜数字游戏中,比所设置数字大了,或小了就是关系式。
    3.终止条件:迭代最后必须要跳出循环,这时就需要一个结束条件。
 猜数字游戏中,以猜中作为迭代终止条件。

迭代法求解斐波那契数

斐波那契数例(Fibonacci Sequence)
即这样一个数列:0、1、1、2、3、5、8、13…,在数学上该数列定义为:
F(0)=0,F(1)=1; F(n) = F(n-1)+F(n-2) (n≥2,n∈N*)。
求第n项的值。
用C语言实现如下:

int fab(unsigned int n)
{
    if(n<3)
       return 1;
	else
	{
	   int preNum=1;
	   int secNUm=1;
	   int temp=0;
	   for(int i=3;i<=n;i++)
	       {
	             temp=preNum+secNum;
	             preNum=secNum;
	             secNum=temp;
	       }
	       return temp;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值