java數學歸結法非遞歸求斐波那契數列的辦法。本站提示廣大學習愛好者:(java數學歸結法非遞歸求斐波那契數列的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是java數學歸結法非遞歸求斐波那契數列的辦法正文
本文實例講述了java數學歸結法非遞歸求斐波那契數列的辦法。分享給年夜家供年夜家參考。詳細以下:
Integer能表現的最年夜值為
2147483647
年夜概是21.4億,這裡沒有斟酌溢出情形(當size為983時就會溢出)!
import java.util.List;
import java.util.ArrayList;
/**
* @author jxqlovejava
* 斐波那契數列
*/
public class Fibonacci {
public static List<Integer> fibonacci(int size) throws Exception {
int first = 0;
int second = 1;
List<Integer> result = new ArrayList<Integer> ();
result.add(first);
result.add(second);
if(size < 0) {
throw new Exception("Illegal argument!");
}
else if(size <= 2) {
return result.subList(0, size);
}
int next;
int count = 2; // 以後曾經推導出的元素個數
while(count++ < size) { // 基於fib(0)和fib(1)遞推其他元素
next = first + second;
first = second;
second = next;
result.add(next);
}
return result;
}
public static void main(String[] args) throws Exception {
List<Integer> fibArray = fibonacci(10);
for(int i: fibArray) {
System.out.print(i + "\t");
}
}
}
願望本文所述對年夜家的java法式設計有所贊助。