【C】斐波那契数列(非递归)

本文介绍了一种非递归方法实现斐波那契数列,并通过一个有趣的编程思考题——小青蛙跳台阶,展示了斐波那契数列的实际应用。通过解析这两种经典的编程题目,读者可以更好地理解递归思想及其在实际问题中的运用。

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

斐波那契数列是一道基础的编程题                   ----------->>>>>递归算法

斐波那契数列:1 1 2 3 5 8 13 21 34 55 

即从第三个数开始,等于该位前两位之和

用非递归方法写一下

#include<stdio.h>
int fib(int f1,int f2,int n)
{		
	int i=1;
	while(i<=n/2)
	{	
		printf("%d ",f1);//输出 1 1
		if((i!=n/2)||(n%2)==1)
			printf("%d ",f2); 
		f1 = f1 + f2;//f1 = 1+1 = 2 
		f2 = f1 + f2;//f2 = 2+1 = 3 
		i++;	
	}	
}
int main() 
{	
	int f1 = 1;
	int f2 = 1;
	int n = 0;
	printf("输入需要输出的斐波那契数个数:");
	scanf("%d",&n);
	n++; 
	fib(f1,f2,n);
	return 0;
}

有一道编程思考题叫做 小青蛙跳台阶

小青蛙可以一次跳一个台阶,也可以一次跳两次台阶。

那么,假如有N个台阶,小青蛙有多少种跳法呢?

台阶 -> 跳法

    1   ->   1

    2   ->   2

    3   ->   3

    4   ->   5

  ...............

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值