蓝桥学院2019算法题2.16

题1:小白爬楼梯(递归设计)

算法分析:f(n) = f(n-1) + f(n-2) + f(n-3)

 1 package recursion;
 2 
 3 import java.util.Scanner;
 4 
 5 /**
 6  * @author zsh
 7  * @company wlgzs
 8  * @create 2019-02-18 9:13
 9  * @Describe 题1·小白上楼梯(递归设计)
10  * 小白正在上楼梯,楼梯有n阶台阶,
11  * 小白一次可以上1阶、2阶或者3阶,
12  * 实现一个方法,计算小白有多少种走完楼梯的方式
13  */
14 public class Main4 {
15 
16     public static void main(String[] args) {
17         Scanner scanner = new Scanner(System.in);
18         int n = scanner.nextInt();
19         int res = f(n);
20         System.out.println(res);
21     }
22 
23     /**
24      * 递归求上楼梯的次数
25      * @param n n阶台阶
26      * @return 上楼梯的次数
27      * 找重复:
28      * 找变化的量:n
29      * 找出口: n==0 , n == 1 , n== 2
30      */
31     static int f(int n) {
32         if (n == 0){
33             return 1;
34         }else if (n == 1){
35             return 1;
36         }else if (n == 2){
37             return 2;
38         }
39         return f(n-1)+f(n-2)+f(n-3);
40     }
41 
42 }

 

转载于:https://www.cnblogs.com/zsh-blogs/p/10394050.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值