首页 青云排行榜 知识中心 控制台

台阶问题。楼梯有N阶,上楼可以一步上一阶,也可以一次上二阶… 也可以一步上n阶。

使用递归算法,计算共有多少种不同的走法,下列选项正确的是:(     )

public static int t(int n) {
    if (n < 1) {
        return -1;
    } else if (n == 1)
        return 1;
    else if (n > 2)
        return 2;
    else
        return t(n - 1) * t(n - 2);
}
public static int t(int n) {
    if (n < 1) {
        return -1;
    } else if (n == 1) 
        return 1;
    else if (n > 2) 
        return 2;
    else 
        return t(n - 1) + t(n - 2);
}
public static int t(int n) {
    if (n < 1) {
        return -1;
    } else if (n == 1) 
        return 1;
    else if (n == 2) 
        return 2;
    else 
        return t(n - 1) * t(n - 2);
}
public static int t(int n) {
    if (n < 1) {
        return -1;
    } else if (n == 1) 
        return 1;
    else 
        if (n == 2) 
            return 2;
        else 
            return t(n - 1) + t(n - 2);
}
思路1:假设n阶台阶有f(n)种走法,可以通过递归的方式进行求解。因为一步可以上1阶或者2阶台阶,那如果先上1个台阶则只需求出剩下的n-1个台阶的走法,如果先上2个台阶则只需求出剩下的n-2个台阶的走法,所以求n个台阶的走法变为求n-1和n-2个台阶的走法,则有f(n) = f(n - 1) + f(n - 2)(其中n > 2)。
关于我们
公司简介
联系我们
联系我们
售前咨询: leizhongnan@eval100.com
售后服务: 0755-26415932
商务合作: support@eval100.com
友情链接
金蝶软件
快递100
关注我们
Copyright © 2023-2023 深圳慧题科技有限公司 粤ICP备2023109746号-1 粤公网安备44030002001082