首页 > 编程 > Java > 正文

java数学归纳法非递归求斐波那契数列的方法

2019-11-26 15:05:23
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表