"재귀
에 대해 알고 있니?" 를 물어보는 아주 기본적인 문제이다.
n = int(input())
def factorial(n: int):
if n > 0:
return n * factorial(n - 1)
else:
return 1
print(factorial(n))
n * (n-1) * (n-2) * ... 형식이 되려면 다음과 같이 재귀호출
을 통해 직접 재귀
형식으로 작성되어야 한다.
하지만, 파이썬에는 math 모듈에서 제공하는 factorial 함수가 있으니
직접 작성하기 보다는 파이썬 내장함수를 이용하자.
다음은 너무나도 유명한 피보나치 수열을 재귀로 구현해보는 문제이다.
n = int(input())
def Fibonacci(n: int):
if n <= 1:
return n
else:
return Fibonacci(n-1) + Fibonacci(n - 2)
print(Fibonacci(n))
처음 두 수를 0과 1로 하고 그 다음부터는 자기 앞 두 수를 더한 수의 나열
수열의 특성을 그대로 코드로 작성하여, 0과 1은 그대로 출력하고,
이후부터는 앞의 두 수를 더한 수가 출력되도록 함수를 작성하였다.