蜜蜂路线-递推

【问题描述】

  一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房现在问你:蜜蜂从蜂房M开始爬到蜂房N,M<N,有多少种爬行路 线?例如从蜂房1爬到蜂房3,有两种方法,分别是1->3; 1->2->3.

                                                                  

 

【输入格式】 输入M,N的值, (0<M<N<21)。

【输出格式】 爬行有多少种路线。

【输入样例】

  1 14

【输出样例】

  377

#include<iostream>
using namespace std;
int a=1, b=2, c=0;
int mifeng(int m, int n){
    int tem=n-m;
    if(tem==1) return a;
    else if(tem==2) return b;
    for(int i=3; i<=tem; i++){
        c=a+b;
        a=b;
        b=c;
    } 
    return c;
}

int main(){
    int m, n;
    cin>>m>>n;
    cout<<mifeng(m, n); 
    return 0;
}

 

posted @ 2022-07-18 17:00  Hi,小董先生  阅读(172)  评论(0)    收藏  举报