OJ 2 斐波那契数列

OJ 2 Fibonacci数列

文章目录

  • OJ 2 Fibonacci数列
  • 一、问题描述
  • 二、输入格式
  • 三、输出格式
  • 四、样例输入
  • 五、样例输出
  • 六、代码
  • 七、总结


一、问题描述

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

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

二、输入格式

输入包含一个整数n。

三、输出格式

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

说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

四、样例输入

10

五、样例输出

50

六、代码


import java.util.*;

public class Main {
    public int Fibonacci(int m) 
    {
    	int a[] = new int[1000001];
    	a[0] = 1;
    	a[1] = 1;
    	for(int i=2;i<=m;i++)
    	{
    		a[i] = (a[i-1] +a[i-2])%10007;
    	}
    	
    	return a[m-1];
	}
	
	public static void main(String[]args) {
	Scanner scan = new Scanner(System.in);

	int n = scan.nextInt();
    Main main = new Main();
    System.out.print(main.Fibonacci(n));
	
}
	
}

七、总结

  1. 在类内定义方法。
  2. 生成对象,调用方法。
  3. 在程序中直接求解余数,比起先算出结果,再求余数要快。
  4. 选中相关内容,首选ctrl+A.

你可能感兴趣的:(算法刷题,java,算法)