您的位置:首页 > 编程语言

编程初学者入门训练-小乐乐走台阶

2020-06-24 09:23 162 查看

题目描述

小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?

输入描述

输入包含一个整数n (1 ≤ n ≤ 30)

输出描述

输出一个整数,即小乐乐可以走的方法数。

示例1

输入

2

输出

2

示例2

输入

10

输出

89

代码实现

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main{
public static void main(String[] args) throws IOException{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());

int[] count = new int[n+2];
count[n] = 1;
for(int i=n-1;i>=0;i--){
count[i] = count[i+1]+count[i+2];
}
System.out.println(count[0]);
}
}

解题思路

n=1时,走法:1,共计1种;
n=2时,走法:1+1或2,共计2种;
n=3时,走法:1+1+1或1+2或2+1,共计3种;
即当需要走n阶台阶时,只需要在走n-1阶台阶后再走1阶,或者在走n-2阶台阶后再走2阶;也就是说,有n阶台阶时,走法满足以下关系:f(n)=f(n-1)+f(n-2)。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: