Description
假设你正在爬楼梯,需要 n 阶你才能到达楼顶;每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。
例如 n = 5 时,共有 8 种不同的爬法。
Input
输入一行,一个正整数 n(1 <= n <= 30),表示楼梯的阶数。
Output
输出一行,一个整数,表示爬到楼顶的不同方法数。
HINT
【问题分析】
当我们第一步只爬一个台阶,剩下的 n-1 个台阶有它的爬法数;当我们第一步爬两个台阶,剩下的 n-2 个台阶就有它的爬法数。
那么可以得到:n 阶台阶的爬法 = (n-1) 阶台阶的爬法数 + (n-2) 阶台阶的爬法数。
递归出口:如果台阶数小于等于 2 阶,则直接返回台阶数。