내맘대로IT/Python

백준 파이썬 10870번 피보나치수 5

맛집여행 2023. 11. 14. 21:26
728x90
300x250

for문과 재귀함수로 풀 수 있는 문제이다.

 

1.for문

-피보나치의 처음 수는 0,1로 시작 하기 때문에

먼저 f라는 리스트에 0,1 두 수만 넣어두고 시작한다.

for문은 2번째부터 num까지 돌면서, i-1,i-2에 있는 값을 더해준 값이 i에 올 수이다.

이것을 f라는 리스트에 하나씩 더해주면 된다.

마지막으로 f리스트의 num번째 값을 호출해주면 된다.

num = int(input())
f=[0,1]

for i in range(2,num+1):
    n = f[i-1]+f[i-2]
    f.append(n)

print(f[num])

 

2.재귀함수

 

먼저 피보나치 함수를 만들어준다.

0,1은 그대로 n을 리턴하고

이 이상 수는 두 수를 더한 값을 리턴하면 된다.

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

n= int(input())
print(fibonacci(n))

 

728x90