피보나치

less than 1 minute read

피보나치 수열

0 1 1 2 3 5 8 …와 같은 피보나치 수열을 구하는 함수

입력 값에 해당하는 인덱스의 수열 반환

public long fibonacci(int N){
    long n1 = 1;
    long n2 = 1;

    if(N == 1){
        return n1;
    }
    else if(N == 2){
        return n2;
    }
    else if(N > 2){
        long temp = 0;
        for(int i = 2; i < N; i++){
            temp = n2;
            n2 += n1;
            n1 = temp;
        }
        return n2;
    }

    return 0;
}

입력값까지 모든 피보나치 수열 구하기

public long[] fibonacci(int N){
    long[] nums = new long[N + 1];

    nums[0] = 0;
    if(N > 1){
        nums[1] = 1;
    }
    if(N > 2){
        nums[2] = 1;
    }
    if(N > 2){
        for(int i = 3; i <= N; i++){
            nums[i] = nums[i - 1] + nums[i - 2];
        }
    }
    return nums;
}