题目:
小白正在上楼梯,楼梯共n阶
小白可以一次上1阶,2阶或3阶
计算小白有多少种走完楼梯的方式
样例输入:
3
样例输出:
4
思路:逆向考虑最后一步有3种可能从第n-1个台阶或n-2或第n-3个台阶上来
即到第n阶的所有可能及时分别到这三个台阶的总数和f(n) = f(n-1)+f(n-2)+f(n-3)
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(f(n));
}
static int f(int n) {
if(n == 0)
return 1;
if(n == 1)
return 1;
if(n == 2)
return 2;
return f(n-1)+f(n-2)+f(n-3);
}
网友评论