蒜头君最多只能一步跨越两个阶梯。比如他初始在楼底,跨越一个阶梯到达1号阶梯,或者跨越两个阶梯到达 2号阶梯。如下图
为了选出一种最轻松的爬楼梯的方式,蒜头君想把所有不同的到达楼顶的方式都尝试一遍。对于一共有几个阶梯的楼梯,蒜头君一共有多少总方法从楼底到达楼顶。
由于最后答案可能很大,输出最后的答案对100007 取模的结果。
输入格式:
第一行输入一个整数 n(1 ≤ n ≤ 1000)。
输出格式:
输出最后答案对于 100007 取模的结果。
输入:
4
输入:
5
import java.util.*; public class LANQIAO1 { public static int dp[] = new int[1010]; public static final int mod = 10007; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // 上一级台阶有一种方法 上两个台阶有两种方法(1+1,2)三级:(1+1+1,1+2,2+1)n = (n - 1) + (n - 2) dp[0] = 1;dp[1] = 1; // 对于取模运算来讲,最好每算一次取一次模 防止超过int范围 for (int i = 2; i <= n ; i++) { dp[i] = dp[i - 1] + dp[i - 2] % mod; } System.out.println(dp[n]); } }