首页 > 编程语言 > 详细

C++基础知识(五)斐波拉契数列、跳台阶问题

时间:2018-05-08 21:55:47      阅读:242      评论:0      收藏:0      [点我收藏+]
#include <iostream>

using namespace std;

int jumpFloor(int number) {
    //递归
    //if(number<0)return 0;
    //if(number==0)return 1;
    //if(number==1)return 1;
    //else return (jumpFloor(number-1) + jumpFloor(number-2));
    //循坏
    int way=1;
    int pre_way=1;
    if(number<0)way=0;
    if(number==0)way=1;
    if(number==1)way=1;
    while(number>=2){
        int temp=way;
        way += pre_way;
        pre_way = temp;
        number--;
    }
    return way;
}

int Fibonacci(int n) {
    //递归
    //if(n==0 || n==1)return 1;
    //else return ( Fibonacci(n-1) + Fibonacci(n-2) );
    //循坏
    int result=1;
    int pre_result=0;
    if(n==0) {result=0;}
    if(n==1) {result=1;}
    while(n>1){
        int temp=result;
        result += pre_result;
        pre_result = temp;
        n--;
    }
    return result;
}

int main()
{
    cout << jumpFloor(3)<< endl;
    cout << Fibonacci(5)<<endl;
    return 0;
}

 

C++基础知识(五)斐波拉契数列、跳台阶问题

原文:https://www.cnblogs.com/chuckle/p/9010910.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!