C 언어, 피보나치 수열 출력
글. 오상문 sualchi@daum.net
다른 게시물에도 피보나치 출력 코드가 있으니 함께 참고하기 바립니다.
이 예제에서 피보나치 수열 순서는 다음과 같다고 가정합니다.
0, 1, 1, 2, 3, 5, 8, 13, ....
n번째까지 피보나치 수열을 출력하는 출력 코드는 다음과 같습니다.
//---------------------------------------------------------
#include <stdio.h>
int main()
{
int count, n1, n2, i;
printf("피보나치 수열 개수: ");
scanf(" %d", &count); // count : 피보나치 수열 개수 입력
if(count<1)
return 0;
if(count==1)
printf("0, \n");
else if(count>=2)
printf("0, 1");
n1=0, n2=1;
for(i=3; i<=count; i++) {
printf(", %d", n1+n2);
n2=n1+n2;
n1=n2-n1;
}
return 0;
}
//---------------------------------------------------
참고로 아래 코드 부분은 임시변수 temp를 이용하여 처리할 수도 있습니다.
n2=n1+n2;
n1=n2-n1;
// temp 변수를 이용하기
temp = n1+n2;
n1 = n2;
n2 = temp;
n1, n2는 그 다음 수열 항목을 구하기 위한 직전, 직직전 항목을 의미합니다.
새 항목을 구하게 되면 그 다음 항목을 구하기 위해 n1, n2도 새 값을으로
갱신하는 과정입니다.
<이상>
'C' 카테고리의 다른 글
C 언어, 유클리드 호제법으로 최대공약수 구하기 (0) | 2019.01.12 |
---|---|
C 언어, 임시 변수 없이 두 값 맞바꾸기 (0) | 2019.01.12 |
C 언어, 8진수 16진수 서식 출력에 # 옵션 활용하기 (0) | 2018.12.08 |
C 언어, 지정한 n번째까지 피보나치 수열 출력하기 (0) | 2018.12.01 |
C 언어, 섭씨 화씨 온도 변환 예제 (0) | 2018.12.01 |