思路:
- 用一个数组来存储 Fn,空间足够大;
- 用一个for循环实现递推,每循环一次都取模。
代码:
import java.util.Scanner;
//Fibonacci 数列
public class BEGIN_4 {
public static void main(String[] args) {
int mod = 10007;
int MAXN = 10000 * 100;
int[] ans = new int[MAXN];
ans[1] = ans[2] = 1;
Scanner sc = new Scanner(System.in);
Integer n = sc.nextInt();
for (int i = 3; i <= n; i++) {
ans[i] = (ans[i - 1] + ans[i - 2]) % mod;
}
System.out.println(ans[n]);
}
}
有疑问或者更好的方法欢迎在下方评论