100个台阶,一次走一步,走两步,走三步,有多少种可能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了100个台阶,一次走一步,走两步,走三步,有多少种可能相关的知识,希望对你有一定的参考价值。

分析

第一个台阶  1
第二个台阶  11 2    //走两次1步或者走1次两步
第三个台阶  111 12 21 3
第四个台阶  1111 112 121 211 22 13 31
f(n)=f(n-1)+f(n-2)+f(n-3)  第n个台阶的可能 = n-1台阶的可能+n-2台阶的可能+n-3台阶的可能 

我这里采用了递归算法

//param x  台阶数目
int goadd(int x)
{
    if (x == 1){
        return 1;
    }
    else if (x == 2){
        return 2;
    }
    else if (x == 3){
        return 4;
    }
    else{
        return goadd(x - 1) + goadd(x-2)+goadd(x-3);
    }

}

void main()
{
    printf("%d", goadd(5));
    getchar();

}

 





以上是关于100个台阶,一次走一步,走两步,走三步,有多少种可能的主要内容,如果未能解决你的问题,请参考以下文章

n个台阶,每次都可以走一步,走两步,走三步,走到顶部一共有多少种可能

有n个台阶的楼梯,有人可以1次走1步,也可以走两步,也可以走三步,问有多少种走法?

n阶楼梯,一次走1,2,3步,求多少种不同走法

100003. 上楼梯

有128个台阶,每次可走一步或者两步,请问有多少种走法?

C/C++ 动态规划 算法