斐波那契数列递归及非递归实现及其应用

非斐波那契数列的实现及其应用:
特点:
a1,a2已知
a(n)=a(n-1) +a(n-2) n>=3
举例:1,1,2,3,5,8,13,21,34,55………
(1)斐波那契递归求解
a.思想:反向分析法,求 a(n),知道他的a(n-1)和a(n)个的值,以此递归,跳出条件为n=1或n=2;
b.数学模型:
f(n)={ 1 n=1;
{ 2 n=2;
{ f(n-1)+f(n-2) n>2;
(2) 代码
int Fibo(int n)
{
if (n == 1)
return 1;
if (n == 2)
return 2;
else
{
return Fibo(n - 1) + Fibo(n - 2);
}
}

(2) 非递归
a.思想:总结规律 a1=1; a2=1;a3=a1+a2;(循环n-2次)
b.代码:
int FiBo(int n)
{
int an= 0;
int a1, a2;
a = b = 1;
if (n ==1)
return a1;
if (n == 2)
return a2;
else
{
for (int i = 3; i <= n; i++)
{
an = a1 + a2;
a 1= a2;
a2= an;
}
}
return an;
}

(3) 斐波那契数列的应用(a.b是剑指offer的题)
a. n 阶楼梯,一次可以上一台,一次可以上两台,共有多少中上法;
b. 2*1的矩阵横着竖着去覆盖2*n的矩阵,总共有几种方法;
c. 兔子繁殖
d.蜂房问题
e.花瓣问题 等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值