问题:上台阶,一次可以爬一阶或两阶,上完n级台阶有多少种方法呢?

假设n=1,1种方法爬完      爬一级

假设n=2,2种方法爬完,   一次爬一级   1   1; 一次爬两级  2

在这个的基础上假设有n(n>2)级阶梯,若爬一级则剩下fun(n-1)种爬发,若爬两级剩下fun(n-2)种爬发。

按照这个思想直接上代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("请输入台阶数:");
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        System.out.println("有"+fun(n)+"种走法!");
    }

    private static int fun(int n) {
        if (n == 1) {
            return 1;
        } else if (n == 2) {
            return 2;
        } else {
            return fun(n - 1) + fun(n - 2);
        }
    }

}

 

相关文章:

  • 2022-02-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-22
  • 2022-12-23
  • 2021-09-05
猜你喜欢
  • 2022-12-23
  • 2021-07-10
  • 2022-01-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
相关资源
相似解决方案