首页 > 试题广场 >

爬楼梯次数

[编程题]爬楼梯次数
  • 热度指数:160 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
有 n 个台阶,你一次能走 1 个或者 2 个台阶,那么请问,走完这 n 个台阶共有几种方式?
示例1

输入

1

输出

1
示例2

输入

2

输出

2
示例3

输入

3

输出

3
示例4

输入

4

输出

5
public static void main(String[] args) {
   Scanner sc = new Scanner(System.in);
   System.out.println("请输入台阶数:");
   int num = sc.nextInt();
   Integer i = judge(num);
   if (i==0){
       System.out.println("有点正事吧,台阶要大于0");
   }else {
       System.out.println(num+"个台阶共"+i+"种方式能走完");
   }
}
public static Integer judge(int num){
   while (num>0){
       if (num<=2){
           return num;
       }else{
           return judge(num - 1) + judge(num - 2);
       }
   }
   return 0;
}


发表于 2021-02-07 14:58:07 回复(0)
经典斐波那契数列的迭代/递归调用

    public static Integer steps(Integer n) {
        if (n != null && n > 0) {
            if (n < 2) {
                return n;
            } else {
                return steps(n - 1) + steps(n - 2);
            }
        }
        return 0;
    }


发表于 2021-01-30 10:19:59 回复(0)