Java学习之斐波那契数列实现
生活随笔
收集整理的這篇文章主要介紹了
Java学习之斐波那契数列实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
一個斐波那契序列,F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2) (n>=2),根據n的值,計算斐波那契數F(n),其中0≤n≤1000。
輸入
輸入數據的第一行為測試用例的個數t,接下來為t行,每行為一個整數n(0≤n≤1000)。
輸出
輸出每個測試用例的斐波那契數F(n)。
樣例輸入
2
1
2
樣例輸出
1
1
import java.math.BigInteger; import java.util.ArrayList; import java.util.Scanner; public class Main {public static void main(String[] args) { ArrayList<BigInteger> ar=new ArrayList<BigInteger>();BigInteger b1=new BigInteger("1");ar.add(b1);BigInteger b2=new BigInteger("1");ar.add(b2);Scanner sc=new Scanner(System.in);for(int i=2;i<1010;i++){BigInteger a=ar.get(i-1);BigInteger b=ar.get(i-2);BigInteger c=a.add(b);ar.add(c);}int t=0;int n=sc.nextInt();while(true){if(t==n)break;int m=sc.nextInt();if(m==0)System.out.println(0);else System.out.println(ar.get(m-1));t++;} } }像這種數據非常大的,用C或C++解決真是非常麻煩,不過用Java就比較簡單了,BigInteger可以存無限大的數,比較好處理,第一次交上去竟然RE了,不明白,測試了好幾次,突然想到如果輸入0時數組的下標就變成-1了,于是,輸入0加入判斷,就過了
?
?
轉載于:https://www.cnblogs.com/baobao2201128470/p/10038924.html
總結
以上是生活随笔為你收集整理的Java学习之斐波那契数列实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jps显示当前所有java进程pid
- 下一篇: java美元兑换,(Java实现) 美元