首页 百科知识 题解Ⅰ级()

题解Ⅰ级()

时间:2022-09-22 百科知识 版权反馈
【摘要】:楼梯有N级台阶,上楼可以一步上一级台阶,也可以一步上两级台阶。编一程序,计算共有多少种不同的走法。

  楼梯有N级台阶,上楼可以一步上一级台阶,也可以一步上两级台阶。编一程序,计算共有多少种不同的走法。

  一行,一个整数n(1 <= n <= 30),表示台阶的级数。

  一个整数,走法的种数。

样例输入

3
方案1:走三次,每次一步
方案2:先走一级,再走两级
方案3:先走两级,再走一次

  这是一个递推计算问题,关键是找出递推式。

  参见参考链接。

  (略)

尽量用函数封装功能函数。

递推问题的关键是递推式。



#include <stdio.h>  

  

typedef unsigned long long ULL;  

  

ULL stairs(int n)  

{  

    ULL f1=1, f2=2, temp;  

  

    if(n == 0)  

        return 0;  

    else if(n == 1)  

        return 1;  

    else if(n == 2)  

        return 2;  

  

    for(int i=3; i<=n; i++) {  

        temp = f1 + f2;  

        f1 = f2;  

        f2 = temp;  

    }  

  

    return f2;  

}  

  

int main(void)  

{  

    int n;  

  

    scanf("%d", &n);  

  

    printf("%lld\n", stairs(n));  

  

    return 0;  

}  


免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈