C++笔试题之n阶楼梯问题:每次只能走1阶或2阶,有多少种方法走完 |
您所在的位置:网站首页 › 图画解锁画完一共有几种方法 › C++笔试题之n阶楼梯问题:每次只能走1阶或2阶,有多少种方法走完 |
n阶楼梯问题:每次只能走1阶或2阶,有多少种方法走完 1.方法一:采用递归的方式走到第n阶时可能是从第n-1阶走一步到的,也可能是从n-2阶走两阶到的,设F(n)为走到n阶的种数,则F(n)=F(n-1)+F(n-2)。当n=1时,F(1)=1,n=2时,F(2)=2,这是一个动态规划问题。其实就是一个斐波那契数列。 #include long long func(int n) { if(1 == n || 2 == n) { return n; } else if(n > 2) { return func(n - 1) + func(n - 2); } else { return -1; // n 非法 } } int main() { std::cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |