斐波那契額序列

斐波那契額函數java

wKioL1d5uk3S-_cKAAAR4vt2tQw982.png

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之內的斐波那契序列ide

wKioL1d5uuyRS_87AAATuGFOiDA419.png

相關文章
相關標籤/搜索