码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-05-08 22:30:41      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:space   names   +=   bsp   number   ret   res   floor   turn   

#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++基础知识(五)斐波拉契数列、跳台阶问题

标签:space   names   +=   bsp   number   ret   res   floor   turn   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!