斐波那契数列

一、斐波那契数列介绍:
斐波那契数列,又称黄金分割数列。斐波那契数列是指这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987…

二、分析
这个数列从第3项开始,每一项都等于前两项之和。即:
F(1)=1, F(2)=1,
F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)

三、程序
1、递归算法
#include<stdio.h>
#include<windows.h>
long long Fib(int N){
if (N< 3)
return 1;
return Fib(N - 1) + Fib(N - 2);
}
int main(){
int i = 0;
printf(“下标为:”);
scanf_s("%d", &i);
printf(“数字为:%d\n”, Fib(i));
system(“pause”);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2、非递归算法(迭代算法)
#include<stdio.h>
#include<windows.h>
long long Fib(int N){
int First = 1;
int Second = 1;
int Third = 1; //N如果为1或者为2,直接返回Third=1.
while (N > 2){
Third = First + Second;
First = Second;
Second = Third;
N–;
}
return Third;
}
int main(){
int i = 0;
printf(“下标为:”);
scanf_s("%d", &i);
printf(“数字为:%d\n”, Fib(i));
system(“pause”);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
四、运算结果:

五、总结:
注意:
(1)斐波那契数列用递归算法编写时效率低,因为有超过一半的重复计算。
(2)用递归算法编写时,注意溢出。
————————————————
版权声明:本文为CSDN博主「qq_45328505」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45328505/article/details/103027461

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值