반응형
숫자 n을 입력받고 n번째 피보나치 수를 출력하는 문제다.
피보나치 수열이란 첫 번째 항의 값이 0이고 두 번째 항의 값이 1일때, 이후의 항들은 이전의 두 항을 더한 값으로 이루어지는 수열을 말한다.
다음 피보나치 수열을 보자.
0 1 1 2 3 5 8 13 21 34 55 89 144 ......n
1번째 항은 0과 1이고,
3번째 항 = 1번째 항 + 2번째 항
4번째 항 = 2번째 항 + 3번째 항
5번째 항 = 3번째 항 + 4번째 항
...
...
으로 이루어져 있는 것을 확인할 수 있다.
만약 7을 입력하면 피보나치 수열에서 7번째에 위치한 8이 출력되고,
11을 입력하면 55가 출력되어야 한다.
입력예시]
입력 : 15
출력예시]
15번째 항의 피보나치 수 = 377
아래 코드 외에 재귀함수로 구현하는 코드도 있습니다. 성능은 안 좋습니다.
_M#]
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[C언어/알고리즘] 문자열의 대소문자 반전 (0) | 2012.09.17 |
---|---|
[C언어/알고리즘] 원하는 범위 내의 난수 생성하기 (0) | 2012.09.17 |
[C언어/알고리즘] 최댓값, 최솟값 찾기 (2) | 2012.05.26 |
[C언어/알고리즘] n차 정사각행렬 만들기 (0) | 2012.04.12 |
[C언어/알고리즘]다이아몬드 출력하기 (0) | 2012.04.12 |