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程序设计有所帮助。

以上是 java数学归纳法非递归求斐波那契数列的方法 的全部内容, 来源链接: utcz.com/z/315141.html

回到顶部