구글 코랩이나 주피터 노트북에서 직접 작성하며 풀어보세요.😊
피보나치 수열은 아래처럼 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다.
0, 1, 1, 2, 3, 5, 8, 13, 21 ...
피보나치 수열의 위치 값을 반환하는 함수를 만들어라.
예) 함수에 5를 넣으면 5번째 피보나치 수열의 값인 3을 반환
함수를 만들어야 하는 문제는 우선 규칙을 찾고, 그 규칙대로 함수를 만들어주면 된다.
n에 어떤 숫자가 들어올지는 모른다.
1이 들어오면 0을 리턴하고
2가 들어오면 1을 리턴하고
3이 들어오면 1을 리턴하고
4가 들어오면 2를 리턴해야 한다.
피보나치 수열은 앞에 있는 두 개의 값을 합치는 것이다.
따라서, n-1번째와 n-2번째를 합친 것이 n이다.
이를 코드로 작성하면 아래와 같다.
def fibo(n):
if n == 1:
return 0
elif n == 2:
return 1
else:
return fibo(n-1) + fibo(n-2)
n-1과 n-2를 했을 때 음수가 나오는 1과 2는 어떤 걸 return해야 하는지 직접 지정을 해주고,
세 번째부터는 fibo(n-1)과 fibo(n-2)를 더한 값이 나오게 한다.
재귀 함수를 사용하였다.
여기까지 파이썬 함수 만들기 실습 문제였습니다.
수정이 필요한 부분이나 이해가 안 가는 부분이 있다면 언제든 말씀해주세요!^0^
다음 글에서는
그럼 이만
총총