问题描述:
Fibonacci数列递推公式为:Fn=Fn-1+Fn-2 其中F1=F2=1
当n比较大时,Fn也比较大,求Fn除以1007的余数。
输入格式:
输入一个数包含一个整数n
输出格式:
输出一行,包含 一个整数,表示Fn除以10007的余数
样例输入:10
样例输出:55
样例输入:22
样例输出:7704
代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int a=1,b=1,ans=1,c=cin.nextInt();
for(int i=1;i<=c-2;i++){
ans=(a+b)%10007;
a=b;
b=ans;
}
System.out.println(ans);
}
}
本文介绍了一个计算Fibonacci数列中第n项对10007取模的问题,通过Java代码实现,避免了直接计算大数带来的溢出问题。使用递推公式进行迭代计算,有效地解决了大数运算的难题。
2455

被折叠的 条评论
为什么被折叠?



