재귀알고리즘?
재귀(recursion)란, 자신을 정의할 때 자기 자신을 호출하는 방법을 뜻합니다. 프로그래밍의 함수정의에서 많이 사용됩니다.
예시)
위의 함수는 재귀함수로써 입력 값 10이 0이 될때까지 반복되고 0이되면 중단되는 함수이다. 이처럼 재귀함수는 종료조건을 추가해 무한반복을 방지할 수 있다.
문제
재귀를 사용하여 팩토리얼(factorial)을 구하는 함수를 구현해주세요. 팩토리얼이란 1에서부터 n까지의 정수를 모두 곱한것을 말합니다.
1! = 1
2! = 1 2
5! = 1 2 3 4 * 5
정답!
'''def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)'''