问题描述
一只青蛙一次可以跳上1级台阶或者2级台阶。求该青蛙跳上n级台阶总共有多少种跳法?
答案取模1e9+7。
思路
这就是到斐波那契数列问题。
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(numWays(scanner.nextInt()));
}
public static int numWays(int n) {
if (n == 0) return 1;
if (n <= 3) return n;
int a = 2, b = 3, res = 0;
for (int i = 4; i <= n; i++) {
res = (a + b) % 1000000007;
a = b;
b = res;
}
return res;
}
}