经典算法详解(1)斐波那契数列的n项

斐波那契数列是一个常识性的知识,它指的是这样的一个数列,它的第一项是1,第二项是1,后面每一项都是它前面两项的和,如:1,1,2,3,5,8,13,21,34,55,89,144,233……

说明:由于通过递推方式效率低,系统开销大,空间复杂度高,故不考虑。

 1 /*斐波那契数列:第一项和第二项为1,后面各项是其前面两项之和*/
 2 /*编写一个函数,输入整数n,求该项的值*/
 3 
 4 #include<iostream>
 5 
 6 using namespace std;
 7 
 8 int fibonacci(int n) {
 9     if (n < 0){
10         return -1;
11     }
12     if ((n == 1 )||( n ==2)) {
13         return 1;
14     }
15     else {
16         int fib_1 = 1,fib_2=1,fib_3;
17         for (int i = 3; i <= n; i++) {
18             fib_3 = fib_1 + fib_2;
19             fib_1 = fib_2;
20             fib_2 = fib_3;
21         }
22         return fib_3;
23     }
24 }
25 
26 int main(int argc, char *argv[]) {
27     cout << "please input n" << endl;
28     int n;
29     cin >> n;
30     cout << "The reslut: " << fibonacci(n) << endl;
31 
32     getchar();
33     getchar();
34     return 0;
35 }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值