资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
楼梯有N(N<25)级台阶,上楼时一步可以走一级台阶,也可以走二级或三级台阶。请编写一个递归程序,计算共有多少种不同的走法?
样例输入
3
样例输出
4
import java.util.Scanner;
public class Main { public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 台阶数
System.out.println(f(n));
} public static int f(int n) {
if (n < 1)
return 0;
if (n == 1)
return 1;
if (n == 2)
return 2;
if (n == 3)
return 4;
else {
return f(n - 1) + f(n - 2) + f(n - 3);
}
}
}
文章图片
【蓝桥杯练习|试题 算法训练 台阶问题】
推荐阅读
- 06_Springboot|Spring AOP 介绍与简单日志切面实现
- Spring源码逻辑|Spring01 -- 启动和扫描逻辑模拟
- JAVA基础|Lambda从入门到精通(一篇搞懂)
- Java学习日记|Java学习日记14——Lambda表达式以及一些高级语法
- android|初学Android网络封装
- rabbitmq|初学rabbitmq总结
- java|java实现文件切片上传百度云+断点续传
- 面试|HashMap常问的11个面试题 你会几个
- 多线程|【java】 如何自己写一把多线程锁 中 重写lock,trylock,unlok方法