斐波那契额函数
import java.util.ArrayList; public class Fib { /* * 斐波那契序列 * 递归 */ public static int fib(int n){ if(n<=0){ return 0; }else if(n==1){ return 1; }else{ return fib(n-1)+fib(n-2); } } /* * 非递归 */ public static long ffib(int n,ArrayList<Long> fiblist){ if(n<=0){ fiblist.add(0l);return 0; }else if(n==1){ fiblist.add(0l); fiblist.add(1l); return 1; }else{ long f1=0; fiblist.add(f1); long f2=1; fiblist.add(f2); long f=0; for(int i=2;i<=n;i++){ f=f1+f2; fiblist.add(f); f1=f2; f2=f; } return f; } } public static void main(String[] args) { ArrayList<Long> fiblist=new ArrayList<Long>(); Fib.ffib(10, fiblist); for(Long l:fiblist){ System.out.print(l+" "); } } }
产生n=10以内的斐波那契序列
时间: 2024-10-30 22:03:23