java数学归纳法非递归求斐波那契数列的方法
程序员文章站
2024-03-05 18:05:55
本文实例讲述了java数学归纳法非递归求斐波那契数列的方法。分享给大家供大家参考。具体如下:
integer能表示的最大值为
2147483647
大概是21.4亿,...
本文实例讲述了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程序设计有所帮助。