1. 程式人生 > 其它 >實現斐波那契數列的兩種方式(遞迴和陣列)

實現斐波那契數列的兩種方式(遞迴和陣列)

import sun.misc.Launcher;

import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.atomic.AtomicInteger;

/**
 * @Description
 * @Author lxh
 * @Date 2021/4/20 2:49 下午
 */
public class Demo {



    public static void main(String[] args) throws Exception {
        for (int i = 1; i <= 9; i++) {
            int result = handleFib(i);
            System.out.print(result + " ");
        }
        System.out.println();
        handleFibAnother(9);

    }


    private static void handleFibAnother(int n) {

        int[] array = new int[n];
        for (int i = 0; i < n ; i++) {
            if (i == 0 || i == 1) {
                array[i] = 1;
            }else {
                array[i] = array[i - 1] + array[i - 2];
            }
            System.out.print(array[i] + " ");
        }


    }


    private static int handleFib(int n) {
        if (n == 1 || n == 2) {
            return 1;
        }
        return handleFib(n - 1) + handleFib(n - 2);
    }





}