0
点赞
收藏
分享

微信扫一扫

蓝桥杯练习 小明上楼梯(递归设计)


小白上楼梯(递归设计)

  • ​​题目​​
  • ​​思路​​
  • ​​源代码​​

题目

小白正在上楼梯,楼梯有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);
}

}



举报

相关推荐

0 条评论