第一种:三个变量直接打印(迭代)
public class Fi {
static int m=0;
public static void main(String[] args){
int a=1,b=1;
System.out.print("斐波拉契数列前20项:"+a+" \t"+b+" \t");
for(int i=0;i<18;i++){
int c=a+b;
a=b;
b=c;
System.out.print(c+" \t");
}
}
函数表达为:
int f(int n){
if(n<2) return 1;//0或1都等于1
int v1=1;v2=1,v3;
for(int i=0;i<=n-2;i++){
v3 = v1+v2;
v1 = v2;
v2 = v3;
}
}
第二种:用数组存储前2项(迭代)
int a1[]=new int[20];
a1[0]=1;a1[1]=1;
for(int j=2;j<a1.length;j++){
a1[j]=a1[j-1]+a1[j-2];
}
第三种:递归