Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#으로 피보나치 수열의 n번째 숫자를 출력하는 함수 만들기

피보나치 수열은 첫 번째 항과 두 번째 항이 각각 0과 1로 고정되고, 세 번째 항부터는 바로 앞의 두 항을 더한 값이 되는 수열입니다(0, 1, 1, 2, 3, 5, 8, ...). 이번 글에서는 C#의 배열과 반복문을 활용해 피보나치 수열의 n번째 숫자를 구하는 함수를 작성하는 방법을 단계별로 살펴보겠습니다.

1단계: 배열 초기화

n번째 숫자를 num이라고 가정하고, 다음과 같이 인덱스 변수와 배열을 선언합니다.

int n = num - 1;
int[] val = new int[n + 1];

2단계: 기본값 설정

피보나치 수열의 시작 값인 첫 번째와 두 번째 위치에 각각 0과 1을 저장합니다.

val[0] = 0;
val[1] = 1;

3단계: 반복문으로 피보나치 수 계산

i=2부터 i<=n까지 반복하면서 앞의 두 요소를 더한 값을 현재 위치에 저장하여 피보나치 수를 차례대로 구합니다.

for (int i = 2; i <= n; i++) {
    val[i] = val[i - 2] + val[i - 1];
}

전체 코드 예제

지금까지의 내용을 하나로 합친 완성된 코드는 다음과 같습니다.

using System;
public class Demo {
    public static void Main(string[] args) {
        Demo g = new Demo();
        int a = g.displayFibonacci(7);
        Console.WriteLine(a);
    }

    public int displayFibonacci(int num) {
        int n = num - 1;
        int[] val = new int[n + 1];

        val[0] = 0;
        val[1] = 1;

        for (int i = 2; i <= n; i++) {
            val[i] = val[i - 2] + val[i - 1];
        }

        return val[n];
    }
}

실행 결과

8

위 코드에서 displayFibonacci(7)을 호출하면 7번째 피보나치 수인 8이 출력됩니다. 피보나치 수열은 0, 1, 1, 2, 3, 5, 8 순서로 진행되므로 일곱 번째 값이 8이 되는 것입니다. 이처럼 배열에 이미 계산된 값을 저장해 두고 재사용하는 방식은 중복 계산을 줄여주어 효율적입니다.