
"재귀 에 대해 알고 있니?" 를 물어보는 아주 기본적인 문제이다.
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은 그대로 출력하고,
이후부터는 앞의 두 수를 더한 수가 출력되도록 함수를 작성하였다.