피보나치 수열 - 자바

leeng·2023년 8월 3일
0
    static int fibonacci1(int num) {
        int[] nums = new int[num];
        if (num == 1 || num == 2) {
            return 1;
        }
        nums[0] = 1;
        nums[1] = 1;

        for (int i = 2; i < nums.length; i++) {
            nums[i] = nums[i - 1] + nums[i - 2];
        }

        return nums[num - 1];
    }

    static int fibonacci2(int num) {
        int result = 0;
        if (num == 1 || num == 2) {
            return 1;
        }
        int a = 1;
        int b = 1;

        for (int i = 2; i < num; i++) {
            result = a + b;
            a = b;
            b = result;
        }

        return result;
    }

    static int fibonacci3(int num) {
        int result = 0;

        if (num == 1 || num == 2) {
            return 1;
        }
        if (arr[num-1] != 0) {
            return arr[num - 1];
        }

        return arr[num - 1] = fibonacci3(num - 1) + fibonacci3(num - 2);
    }
profile
기술블로그보다는 기록블로그

0개의 댓글