美文网首页
小白上楼梯简易递归问题

小白上楼梯简易递归问题

作者: 掌灬纹 | 来源:发表于2019-01-27 17:30 被阅读0次

    题目:

    小白正在上楼梯,楼梯共n阶

    小白可以一次上1阶,2阶或3阶

    计算小白有多少种走完楼梯的方式

    样例输入:

    3

    样例输出:

    4

    思路:逆向考虑最后一步有3种可能从第n-1个台阶或n-2或第n-3个台阶上来

    即到第n阶的所有可能及时分别到这三个台阶的总数和f(n) = f(n-1)+f(n-2)+f(n-3)

    public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    int n = sc.nextInt();

    System.out.println(f(n));

    }

    static int f(int n) {

    if(n == 0)

    return 1;

    if(n == 1)

    return 1;

    if(n == 2)

    return 2;

    return f(n-1)+f(n-2)+f(n-3);

    }

    相关文章

      网友评论

          本文标题:小白上楼梯简易递归问题

          本文链接:https://www.haomeiwen.com/subject/tfsrjqtx.html