蓝桥杯-第39级台阶
来源:互联网 发布:法里内利 知乎 编辑:程序博客网 时间:2024/05/20 20:58
- 题目
题目: 第39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。
- 方法一
递推解决,模拟上楼
public class ThreeNineSteps { static int n = 0; public static void main(String[] args) { f(39, 0); System.out.println(n); } static void f(int step,int counter) { if(step==0) { if(counter%2==0) n++; return ; } f(step-1, counter + 1); if(step>=2) f(step-2, counter + 1); }}
- 方法二
巧妙的分解问题,也是递推解决问题。对于N步阶梯偶数步上去,只要求出N-1和N-2步阶梯奇数步上去的和即可。
public class ThreeNineSteps { public static void main(String[] args) { System.out.println(even(39)); } //N个台阶在奇数步内走完 static int odd(int n) { if(n==1) return 1; else if(n==2) return 1; else if(n==3) return 1; return even(n-1) + even(n-2); } //N个台阶在偶数步内走完 static int even(int n) { if(n==1) return 0; else if(n==2) return 1; else if(n==3) return 2; return odd(n-1) + odd(n-2); }}
后者速度更快。。。
0 0
- 蓝桥杯 第39级台阶
- 蓝桥杯 第39级台阶
- 蓝桥杯 第39级台阶
- 蓝桥杯--第39级台阶
- 【蓝桥杯】【第39级台阶】
- 蓝桥杯--第39级台阶
- 蓝桥杯 《第39级台阶》
- 蓝桥杯 第39级台阶
- 第39级台阶 蓝桥杯
- 蓝桥杯-第39级台阶
- 第39级台阶 蓝桥杯
- 蓝桥杯--第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 第39级台阶
- 内部排序之交换排序
- MyBatis 的数据库操作
- jQuery函数attr()和prop()的区别
- 读书小记
- 网易机试-赶去公司
- 蓝桥杯-第39级台阶
- Win64 驱动内核编程-23.Ring0 InLineHook 和UnHook
- HashSet、LinkedHashSet和TreeSet三者区别与联系
- SAP HANA取表中每行最小值
- 【Android眼中的IOS】使用16进制颜色值生成UIColor
- Api 25 Reference-->andriod
- override报错,继承自接口的类报错:***must override a superclass method
- Javascript和Java的区别
- 【NOI2003T4】逃学的小孩-贪心+树形DP求直径+倍增LCA