天天看点

蓝桥杯练习 小明上楼梯(递归设计)题目思路源代码

小白上楼梯(递归设计)

  • 题目
  • 思路
  • 源代码

题目

小白正在上楼梯,楼梯有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蓝桥杯算法课《算法很美》的学习笔记总目录.

继续阅读