java爬楼梯问题详解编程语言

问题
假设你现在正在爬楼梯,楼梯有 n 级。每次你只能爬 1级或者 2级,那么你有多少种方法爬到楼梯的顶部?

public class ClimbSairs {
    
 
	public static void main(String[] args) {
    
		System.out.println("爬1个台阶有" + climb(1) + "种走法"); 
		System.out.println("爬2个台阶有" + climb(2) + "种走法"); 
		System.out.println("爬3个台阶有" + climb(3) + "种走法"); 
		System.out.println("爬4个台阶有" + climb(4) + "种走法"); 
		System.out.println("爬5个台阶有" + climb(5) + "种走法"); 
		System.out.println("爬6个台阶有" + climb(6) + "种走法"); 
	} 
 
	public static int climb(int n) {
    
		switch (n) {
    
		case 1: 
			return 1; 
		case 2: 
			return 2; 
		default: 
			return climb(n - 1) + climb(n - 2); 
		} 
	} 
} 
 

运行结果:

1个台阶有1种走法 
爬2个台阶有2种走法 
爬3个台阶有3种走法 
爬4个台阶有5种走法 
爬5个台阶有8种走法 
爬6个台阶有13种走法 
 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/18739.html

(0)
上一篇 2021年7月19日 21:27
下一篇 2021年7月19日 21:27

相关推荐

发表回复

登录后才能评论