C/C 개발

C언어 피보나치 순환, 반복 코드

CE : 하랑 2021. 12. 23. 20:37

 

 

결과물

 

 

 


 

코드

 

 

 


 

 

복사코드

 

#include <stdio.h>

int fib1(int n) //순환
{
if (n == 0) 
return 0;
if (n == 1)
return 1;

return (fib1(n - 1) + fib1(n - 2));
}

int fib2(int n) //반복
{
if (n == 0)
return 0;
if (n == 1)
return 1;

int pp = 0;
int p = 1;
int result = 0;

for (int i = 2; i <= n; i++) {
result = p + pp;
pp = p;
p = result;
}
return result;
}

void main()
{
while (1)
{
int menu;
printf("\n\n메뉴 1)순환 피보나치 2)반복 피보나치 3) 종료 : ");
scanf("%d", &menu);

if (menu == 3)
{
printf("프로그램 종료\n");
break;
}

switch (menu)
{
case 1:
int num1;
printf("순환 입력 값 : ");
scanf("%d", &num1);
printf("순환 피보나치 값 : %d\n", fib1(num1));
break;
case 2:
int num2;
printf("순환 입력 값 : ");
scanf("%d", &num2);
printf("반복 피보나치 값 : %d\n", fib2(num2));
break;
default:
printf("잘못된 선택 다시 선택하시오.");
}
}
}

'C > C 개발' 카테고리의 다른 글

C언어 하노이의 탑 코드  (0) 2021.12.25
C언어 거듭제곱 순환, 반복 코드  (0) 2021.12.21
C언어 팩토리얼 순환, 반복 코드  (0) 2021.12.20
C언어 게임 아이템 강화 코드  (0) 2021.12.17
C언어 Up & Down 게임 코드  (0) 2021.12.16