Fibonacci

package Fibonacci;
/*
 * 问题描述
 * Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
 *当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
 *输入格式
 *输入包含一个整数n。
 *输出格式
 *输出一行,包含一个整数,表示Fn除以10007的余数。
 */
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int a=1,b=1;
        int num=0;
        if(n==0 || n==1){
            
            System.out.println(1);
         
        }
        else{
            for(int i=3;i<=n;i++){
                num=(a+b)%10007;
                a=b;
                b=num;
            }
            
            System.out.println(num);
            
        }
    }
}

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233377610987159725844181676510946177112865746368......

特别指出:第0项是0,第1项是第一个1

这个数列从第2项开始,每一项都等于前两项之和。

原文地址:https://www.cnblogs.com/watchfree/p/5301650.html