斐波那契的遞歸和非遞歸,21遞歸:斐波那契

 2023-11-19 阅读 23 评论 0

摘要:【題目】?**Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。?當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的余數是多少。?輸入格式?輸入包含一個整數n。?輸出格式?輸出一行,包含一個整數,表

【題目】?
**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==1或者n==2的時候,Fn=1;?
當n>=3的時候,Fn=Fn-1+Fn-2。

import java.math.BigInteger;
import java.util.*;public class Lanq {public static void main(String[] args) {Fibonacci();}public static void Fibonacci() {Scanner sc = new Scanner(System.in);int n=sc.nextInt();int a[]=new int[1000001];a[0]=0;a[1]=1;a[2]=1;for(int i=3;i<=n;i++){a[i]=a[i-1]%10007+a[i-2]%10007;}System.out.println(a[n]);}
}

  

轉載于:https://www.cnblogs.com/passion-sky/p/8553772.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/179582.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息