小白上楼梯(递归设计)
- 题目
- 思路
- 源代码
题目
小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方法。
思路
可以发现,这道题就跟求斐波那契数列数列的第几个数一样,不过这道题是三路,f(n-3)+f(n-2)+f(n-1),而斐波那契数列是两路。
源代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
while(true) {
int n=in.nextInt();
int res=f(n);
System.out.println(res);
}
}
private static int f(int n) {
if(n==0)return 1;//经过验算一下,这里不是0,而是1
if(n==1)return 1;
if(n==2)return 2;
return f(n-3)+f(n-2)+f(n-1);
}
}
链接: 最全的2021蓝桥杯算法课《算法很美》的学习笔记总目录.