斐波那契额函数
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以内的斐波那契序列
转载于:https://blog.51cto.com/11302790/1795469