package com.bailang.louti;
/**
* Encoding:utf-8
* Author: bailanglang
* Date: 2020-10-20 16:54
* Version:1.0
* Description:一个楼梯有n阶,每一次可以走一个台阶或者二个台阶请问总共有几种走法
*/
public class JumpStepProblem {
/**
* @author bailanglang
* Description 主方法
*/
public static void main(String[] args) {
JumpStepProblem jumpStepProblem = new JumpStepProblem();
System.out.println("当台阶数为10,共有"+jumpStepProblem.Fibonacci(10)+"种走法!");
}
public static int Fibonacci(int n){
/*
* 当阶数小于0 直接报-1退出
* 当阶数为1,1种
* 当阶数为2,2种
* 当阶数为3,3种
* 当阶数为4,5种
* 当阶数为5,8种
*……………………
* 当阶数为n,共Fibonacci(n-1)+Fibonacci(n-2)种
* */
if(n <0){return -1;}
if(n <=2){return n;}
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
![]()