import java.util.Scanner; public class Main{ public static void main(String[] args) { int maxn=1000000+5; int mod=10007; int[] Fibonacci=new int[maxn]; Fibonacci[1]=1; Fibonacci[2]=1; Scanner sc=new Scanner(System.in); int n=sc.nextInt(); for(int i=3…
刚刚开始刷题的时候就栽了个大跟头,稍微记一下...... 一开始不是很理解:“我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单”这句话. 写完代码测试后才发现 当Fn 很大的时候,会超出int的表示范围, 后来才想明白为什么要这么做 import java.util.Scanner; public class Main { public static void main(String[] args) { int…