分类 Java算法 下的文章

斐波那契数列的三种解法


一、数组解法 */

public static void main(String[] args) {
    int a[]=new int[20];
    a[0]=1;
    a[1]=1;
    for (int i = 2; i < a.length; i++) {
        a[i]=a[i-1]+a[i-2];
    }
    for (int i : a) {
        System.out.println(i);
    }
}

二、左右手换牌解法

public static void main(String[] args){
    int a=1;
    int b=1;
    int c=0;
    for (int i = 0; i <20; i++) {
        System.out.println(a);
        c=a+b;
        a=b;
        b=c;
    }
}

三、递归解法 *\

 public static void main(String[] args) {
    for (int i = 1; i < 20; i++) {
        System.out.println(a(i));
    }

}

public static int a(int x)
{
    if (x==1 || x==2) {
        return 1;
    } else {
        return a(x-1)+a(x-2);
    }
    
}