java数学归纳法非递归求斐波那契数列的方法
本文实例讲述了java数学归纳法非递归求斐波那契数列的方法。分享给大家供大家参考。具体如下:
Integer能表示的最大值为
2147483647
大概是21.4亿,这里没有考虑溢出情况(当size为983时就会溢出)!
importjava.util.List; importjava.util.ArrayList; /** *@authorjxqlovejava *斐波那契数列 */ publicclassFibonacci{ publicstaticList<Integer>fibonacci(intsize)throwsException{ intfirst=0; intsecond=1; List<Integer>result=newArrayList<Integer>(); result.add(first); result.add(second); if(size<0){ thrownewException("Illegalargument!"); } elseif(size<=2){ returnresult.subList(0,size); } intnext; intcount=2;//当前已经推导出的元素个数 while(count++<size){//基于fib(0)和fib(1)递推其他元素 next=first+second; first=second; second=next; result.add(next); } returnresult; } publicstaticvoidmain(String[]args)throwsException{ List<Integer>fibArray=fibonacci(10); for(inti:fibArray){ System.out.print(i+"\t"); } } }
希望本文所述对大家的java程序设计有所帮助。