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); } }