C语言爬楼梯问题(递推)

在计算理工学院有一个长腿君,他在爬楼梯的时候从来都是要么上 2个台阶,要么上 3个台阶。由于爬楼梯实在太无聊了,长腿君就开始尝试每天采用不同的方式上楼梯。如果长腿君回家需要爬 N 阶台阶,你能告诉长腿君,他爬楼梯回家有多少种不同的方式吗?

#include <stdio.h>

int main() {
    int n;
    int step[51];
    scanf("%d",&n);
    step[1] = 0;
    step[2] = step[3] = 1;
    for (int i = 4; i <=n; i++){
        step[i] = step[i-2] + step[i-3] ; }
    printf("%d",step[n]);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_40713201/article/details/112208149