您的位置:首页 > 编程语言 > Java开发

蓝桥杯(Java) 入门训练 Fibonacci数列

2016-04-22 01:01 579 查看
// /*

// * 入门训练 Fibonacci数列

// *

// * 问题描述

// * Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

// * 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

// * 输入格式

// * 输入包含一个整数n。

// * 输出格式

// * 输出一行,包含一个整数,表示Fn除以10007的余数。

// *

// * 样例输入

// * 10

// * 样例输出

// * 55

// * 样例输入

// * 22

// * 样例输出

// * 7704

// *

// * 数据规模与约定

// * 1 <= n <= 1,000,000。

// * */

private static void BEGIN_4() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
int[] F = new int
;
if (n == 1 || n == 2) {
System.out.println(1);
} else {
F[0] = 1;
F[1] = 1;
for (int i = 2; i < F.length; i++) {
F[i] = F[i - 1] + F[i - 2];
F[i] = F[i] % 10007;
}
System.out.println(F[n - 1] % 10007);
}

// 输入为1时不成立
// Scanner sc = new Scanner(System.in);
// int n = sc.nextInt();
// sc.close();
// int[] F = new int
;
// F[0] = 1;
// F[1] = 1;
// for (int i = 2; i < F.length; i++) {
// F[i] = F[i - 1] + F[i - 2];
// F[i] = F[i] % 10007;
// }
// System.out.println(F[n - 1] % 10007);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: