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
'내맘대로IT > Python' 카테고리의 다른 글
백준 파이썬 2693 N번째 큰 수 (0) | 2023.11.16 |
---|---|
백준 파이썬 2609번 최대공약수와 최소공배수 (0) | 2023.11.15 |
백준 파이썬 2309번 파이썬 문제풀이(일곱난쟁이) (0) | 2023.11.13 |
백준 3460 파이썬 이진수 (1) | 2023.05.17 |
티스토리 코드 삽입 방법 (0) | 2023.05.17 |