上n阶楼梯,每次走1/2/3步,计算多少种走法

package demo;

import java.util.Scanner;

public class P26 {
	//上n阶楼梯,每次走1/2/3步,计算多少种走法
	//从终点开始倒推,最后一次走可能从n-1/n-2/n-3阶走上来,f(n)=f(n-1)+f(n-2)+f(n-3),
	public static void main(String[] args) {
		Scanner scanner =new Scanner(System.in);
		while(true) {
			int n=scanner.nextInt();
			System.out.println(f(n)+"种走法");
		}
	}
	
	static int f(int n) {
		if(n==1) return 1;
		if(n==2) return 2;
		if(n==3) return 4;
		return f(n-1)+f(n-2)+f(n-3);
	}
}
posted @   fighterk  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示