피보나치 수열은 각 항이 바로 앞의 두 항의 합으로 이루어지는 수열입니다. 첫 번째 항은 0, 두 번째 항은 1로 시작하며, 그 다음부터는 이전 두 숫자를 더한 값이 차례로 이어집니다.
피보나치 수열의 기본 원리
피보나치 수열을 구하려면 먼저 수열의 처음 두 숫자를 0과 1로 설정해야 합니다.
int val1 = 0, val2 = 1;
그다음 2부터 n까지 반복문을 실행하면서 피보나치 수열을 계산합니다. 수열에서 모든 숫자는 마지막 두 요소의 합과 같습니다.
for(i=2;i<n;++i) {
val3 = val1 + val2;
Console.Write(val3+" ");
val1 = val2;
val2 = val3;
}반복문 내부에서는 세 가지 작업이 이루어집니다.
- 새로운 값 계산: 앞의 두 변수(val1, val2)를 더하여 val3에 저장합니다.
- 결과 출력: 계산된 val3 값을 콘솔에 출력합니다.
- 변수 갱신: val1에 val2의 값을, val2에 val3의 값을 대입하여 다음 반복을 준비합니다.
C# 전체 코드 예제
다음은 C#에서 피보나치 수열을 출력하는 완전한 코드입니다.
예제
using System;
public class Demo {
public static void Main(string[] args) {
int val1 = 0, val2 = 1, val3, i, n;
n = 7;
Console.WriteLine("Fibonacci series:");
Console.Write(val1+" "+val2+" ");
for(i=2;i<n;++i) {
val3 = val1 + val2;
Console.Write(val3+" ");
val1 = val2;
val2 = val3;
}
}
}실행 결과
Fibonacci series: 0 1 1 2 3 5 8
위 예제에서는 n을 7로 설정했기 때문에 총 7개의 숫자(0, 1, 1, 2, 3, 5, 8)가 출력됩니다. n값을 변경하면 원하는 길이만큼 피보나치 수열을 생성할 수 있습니다.
마무리
이처럼 피보나치 수열은 반복문과 몇 개의 변수만으로도 간단하게 구현할 수 있습니다. 재귀 함수를 사용하는 방법도 있지만, 위와 같은 반복문 방식은 불필요한 함수 호출 오버헤드가 없어 성능 면에서 더 효율적이라는 장점이 있습니다.