백준 10870 피보나치 수 5 solution[python, 파이썬] - 풀이, 설명::FBTT
https://www.acmicpc.net/problem/10870
10870번: 피보나치 수 5
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는
www.acmicpc.net
1. 피보나치 수열의 식을 이해하기
문제에 나와있는 피보나치의 수열의 식을 보면 n번 째 항은 (n - 1)번 째항과 (n - 2)번 째 항의 합임을 알 수 있다.
이는 팩토리얼 문제와 마찬가지로 반복문으로 풀 수 있지만 재귀 함수로 구해보겠습니다.
n == 0일 때는 0을 반환, n == 1일 때는 1을 반환
그 이유는 이 함수의 return은 fibonacci(n - 1) + fibonacci(n - 2)이기 때문에 n >= 2이어야 하기 때문입니다.
1
2
3
4
5
6
7
8
9
|
def fibonacci(n):
if n == 0:
return 0
if n == 1:
return 1
return fibonacci(n - 1) + fibonacci(n - 2)
n = int(input())
print(fibonacci(n))
|
cs |
참고) 재귀 함수를 이용한 n - 팩토리얼 구하기
https://readytoearndon.tistory.com/6
백준 10872 팩토리얼 solution[python] - 풀이, 설명
https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 1. 팩토리얼의 정의 생각해보기 n!은 n부터 1까..
readytoearndon.tistory.com