반응형
피보나치 수열(Fibonacci Sequence)는 아래의 모습과 같이 1번째 항과 2번째 항을 더하면 3번째 항이 되고, 2번째 항과 3번째 항을 더하면 4번째 항이 됩니다.
즉, n번째 항은 n-1번째 항과 n-2번째 항의 합입니다.
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
이제 피보나치 수열을 c언어를 활용하여 작성해 보도록 하겠습니다.
재귀 함수를 사용해야 하기 때문에 아직 잘 모르시는 분들은 아래의 링크를 참고해 주시길 바랍니다.
(https://hig0617.tistory.com/25)
int OdOp_fibonacci(int index)
{
if (index < 0)
return (-1);
else if (index < 2)
return (index);
return (ft_fibonacci(index - 1) + ft_fibonacci(index - 2));
}
예외 처리 먼저 설명해 드리겠습니다.
0보다 작은 수 즉, 음수가 들어온다면 '-1'을 리턴해 오류를 나타냈습니다.
위의 참고 사이트를 보시면 알시겠지만 재귀 함수는 탈출하는 부분을 명확하게 설정해 두는 것이 중요합니다.
입력값 index가 2보다 작을 경우에 리턴값이 나올 수 있게 만들어서 탈출부분을 설정해 두었습니다.
하시는 프로젝트 잘 마무리 하시길 바랍니다.
반응형
'Algorithm > Algorithm' 카테고리의 다른 글
C언어, 팩토리얼(factorial) (0) | 2023.12.11 |
---|---|
C언어, 거듭 제곱 (0) | 2023.12.10 |
putnbr_base, 숫자를 진법으로 변환하기 (1) | 2023.12.07 |
특정 진법 정수로 바꾸기 (1) | 2023.12.05 |
문자열 소문자로 변환하기 (0) | 2023.10.23 |