早教吧 育儿知识 作业答案 考试题库 百科 知识分享

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时Fn也非常大现我们想知道Fn除10007余数多少输入格式输入包含整数n输出格式输出行包含整数表示Fn除10007余数说明:本题答案

题目详情
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时Fn也非常大现我们想知道Fn除10007余数多少 输入格式 输入包含整数n 输出格式 输出行包含整数表示Fn除10007余数 说明:本题答案要求Fn除10007余数因此我们只要能算出余数即而需要先计算出Fn准确值再计算结除10007取余数直接计算余数往往比先算出原数再取余简单 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000 样输入N,输出Fn值了 题问题要输出 Fn除10007余数 下面代码 import java.util.Scanner; public class aaa { public static void main(String[] args) { int n; Scanner sc = new Scanner(System.in); n = sc.nextInt(); int re[] = new int[n+2]; re[1] = 1; re[2] = 1; if (n > 2) { for (int i = 3; i <=n; i++) { re[i] = (re[i - 1] + re[i - 2])%10007; } } System.out.println(re[n]); } }
▼优质解答
答案和解析
//用递归算法 import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner s=new Scanner(System.in); int n=s.nextInt(); int sum=F(n); System.out.print(sum%10007); } public static int F(int n) { if(n==1||n==2) { return 1; } else { return F(n-1)+F(n-2); } } } 样写复制再提交会告诉运行超时