首页 > 其他 > 详细

爬楼梯

时间:2019-09-03 23:33:26      阅读:149      评论:0      收藏:0      [点我收藏+]

又是一个递归;

感觉这个题和斐波那契数列差不多的耶

和斐波那契数列的关系差不多,

只不过前两项是1和2,

而不是1和1;

后面基本一样都是an=an-1+an-2;

因为每次只能爬一个或者两个;

所以可以分两类考虑,

一类就是最后差一个;

另一类就是最后差两个;

差一个的时候,前面走的就和上一个数(an-1)一样,

只需再走一个;

差两个的时候,前面走的就和上上个数(an-2)一样;

只需再走两个;

所以就和斐波那契数列一样。

 1 #include<iostream>
 2 using namespace std;
 3 int ans(int);
 4 int main()
 5 {
 6     int n;
 7     while(cin>>n)
 8     cout<<ans(n)<<endl;
 9     return 0;
10 }
11 int ans (int x)
12 {
13     if(x==1) return 1;
14     else if(x==2) return 2;
15     else return ans(x-1)+ans(x-2);
16 }

每日打卡O(∩_∩)O~~

爬楼梯

原文:https://www.cnblogs.com/sxy2004/p/11456410.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!