Java实现Fibonacci取余
Description
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
Input
多组测试数据
输入包含一个整数n。1 <= n <= 1,000,000。
Output
每组输出一行,包含一个整数,表示Fn除以10007的余数。
Sample Input
10
22
Sample Output
55
7704
package 第八次模拟;
import java.util.Scanner;
public class Demo12Fibonacci {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int []f = new int [n+2];
int [] count=new int [n+2];
f[1]=1;
f[2]=1;
for (int i = 3; i <=n; i++) {
f[i]=(f[i-1]+f[i-2]);
if(f[i]/10007>=1){
f[i]%=10007;
}
}
System.out.println(f[n]);
}
}
}