피보나치 수열(Fibonacci Series)은 이전 두 수를 더하는 방식으로 만들어지는 숫자의 나열입니다. 수열은 두 개의 수 f0과 f1에서 시작하며, 초기값은 0, 1 또는 1, 1로 설정할 수 있습니다.
피보나치 수열은 다음과 같은 점화식 조건을 만족합니다.
fn = fn-1 + fn-2
알고리즘
피보나치 수열을 구하기 위한 알고리즘은 다음과 같습니다.
시작 1단계: 실행 시점에 정수 변수 a, b, c를 입력받는다 2단계: a=0, b=1로 초기화한다 3단계: c = a + b 를 계산한다 4단계: c를 출력한다 5단계: a=b, b=c 로 값을 갱신한다 6단계: 3~5단계를 n번 반복한다 종료
C 프로그램 예제
다음은 while 루프를 사용하여 피보나치 수열을 출력하는 C 프로그램입니다.
#include <stdio.h>
int main(){
int number, i = 0, Next, first = 0, second = 1;
printf("\n Please Enter the Range Number: ");
scanf("%d",&number);
while(i < number){
if(i <= 1){
Next = i;
}
else{
Next = first + second;
first = second;
second = Next;
}
printf("%d \t", Next);
i++;
}
return 0;
}실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Please Enter the Range Number: 6 0 1 1 2 3 5
코드 설명
프로그램이 동작하는 원리를 단계별로 살펴보면 다음과 같습니다.
먼저 사용자로부터 출력할 항의 개수(number)를 입력받습니다. 변수 first와 second는 각각 0과 1로 초기화되어 수열의 첫 두 항 역할을 합니다.
while 루프 안에서 인덱스 i가 0 또는 1일 때는 그대로 0, 1을 출력하고, 그 이후에는 앞의 두 값(first, second)을 더해 다음 항(Next)을 계산합니다. 그런 다음 first에 second 값을, second에 Next 값을 대입해 두 변수를 한 칸씩 앞으로 이동시키며 수열을 생성합니다.
입력값이 6인 경우 0, 1, 1, 2, 3, 5 여섯 개의 항이 순서대로 출력되는 것을 확인할 수 있습니다. 이처럼 피보나치 수열은 반복문만으로도 간단하게 구현할 수 있어, C 언어 초보자에게 좋은 연습 예제가 됩니다.