728x90
#10870
a = int(input())
num_list = [0,1]
for i in range(2, a+1):
num = num_list[i-1] + num_list[i-2]
num_list.append(num)
print(num_list[num])
우선 친숙한 for문을 이용하여 코드를 작성해 보았다.
0,1이 들어있는 num_list를 만들고 for문을 이용하여 입력한 번호 a에 따라 a-2인덱스의 숫자와 a-1인덱스의 숫자를 더하여 num을 num_list에 append해주어 피보나치 수열을 구현하였다. 하지만 이 문제의 의도는 재귀함수를 이용하는 것이어서 다른 방법을 고안하였다.
def fibonacci(a):
if a <= 1:
return a
return fibonacci(a-1) + fibonacci(a-2)
a = int(input())
print(fibonacci(a))
fibonacci(a)의 return값을 fibonacci(a-1)+fibonacci(a-2)로하여 재귀함수의 특성을 이용하여 풀어냈다.
728x90
'Sketch (Programming Language) > Python' 카테고리의 다른 글
Baekjoon Training #14425 (1) | 2022.08.06 |
---|---|
Baekjoon Training #2798 (0) | 2022.07.30 |
Baekjoon Training #1978 (0) | 2022.07.24 |
Baekjoon Training #1712/#2675 (0) | 2022.07.21 |
Baekjoon Training #2675/#1157 (0) | 2022.07.20 |