我已經寫了一個輸出斐波那契數列的程序,並且該程序對於小數字來說工作正常。當我設置序列的第10 000個循環時,程序變得非常奇怪,並開始輸出負數和正數。[Java]斐波那契數列越大,斐波那契數列的輸出越多
起初我雖然是因爲我用int類型的數字,但後來我改變它很長,程序仍輸出相同的東西。我對java很陌生,所以我猜想我的程序有些問題,或者我錯過了一個比long更長的類型,並且不會輸出負數。
下面是代碼。隨意對任何事情從剛剛任何錯誤否則除了發表評論,因爲我是相當新的Java這樣的代碼可能看起來有點外行:
public class Problem2{ //fibonacci sequence
public static void main (String [] args){
long first = 1;
long second = 1;
System.out.println(first);
System.out.println(second);
for (int i = 1; i <= 100 ; i++){
long third = first + second;
first = second;
second = third;
System.out.println(third);
}
}
}
輸出的第90號是好的:1 1 2 3 5 8月13日21: 在此之後,最後2個輸出:
90:7540113804746346429
91:-6246583658587674878
我真誠地道歉,如果這已經被問了很多次,我已經搜查在周圍我很難理解,所以我覺得最好問一下。
可能我只問,我需要把一個值到新()之間的BigInteger()還是隻是連續擴展,直到它足夠大以容納所有數字? – Fruloops 2014-11-05 16:44:36
你將需要初始化它,但稍後它會隨着內存的增長而調整...... – kirti 2014-11-05 17:10:38
我可以問我如何在我的代碼中使用BigInteger類?對不起,這麼多的問題:( – Fruloops 2014-11-05 18:38:00