데굴데굴

[파이썬] 10870번: 피보나치 수 5 본문

algorithm/백준

[파이썬] 10870번: 피보나치 수 5

aemaaeng 2022. 6. 14. 12:38

10870번: 피보나치 수 5 (acmicpc.net)

 

10870번: 피보나치 수 5

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

재귀함수를 이용하여 피보나치 수를 만들어야 한다.

피보나치 수열
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 ...

 

n을 입력받은 후 n번째 피보나치 수를 출력해야 한다.

ex) n = 5, 출력값은 3

 

n = int(input())

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

print(fibonacci(n))

피보나치 수열의 성질을 활용한다.

Fn = Fn-1 + Fn-2 

 

if문

F0 = 0, F1 = 1이므로 n이 1과 같거나 작을 경우에는 n을 그대로 출력한다.

 

return

fibonacci 함수를 다시 호출하여 fibonacci(n - 1) + fibonacci(n - 2)를 수행한 결과값을 리턴한다.

'algorithm > 백준' 카테고리의 다른 글

[파이썬] 9012번: 괄호  (0) 2022.06.16
[파이썬] 10828번: 스택  (0) 2022.06.16
[파이썬] 10872번: 팩토리얼  (0) 2022.06.14
[파이썬] 9020번: 골드바흐의 추측  (0) 2022.06.13
[파이썬] 4948번: 베르트랑 공준  (0) 2022.06.12
Comments