# 반복적으로 구현한 n!
def factorial_iterative(n):
result = 1
# 1부터 n까지의 수를 차례대로 곱하기
for i in range(1, n + 1):
result *= i
return result
# 재귀적으로 구현한 n!
def factorial_recursive(n):
if n <= 1: # n이 1 이하인 경우 1을 반환
return 1
# n! = n * (n-1)!를 그대로 코드로 작성
return n * factorial_recursive(n - 1)
# 각각의 방식으로 구현한 n! 출력 (n=5)
print('반복적으로 구현:', factorial_iterative(5))
print('재귀적으로 구현:', factorial_recursive(5))
>>> 반복적으로 구현: 120
>>> 재귀적으로 구현: 120
[Python] 그래프 탐색 알고리즘: 재귀 함수 사용의 유의 사항 (0) | 2022.06.11 |
---|---|
[Python] 그래프 탐색 알고리즘: DFS/BFS_최대공약수(유클리드 호제법) (0) | 2022.06.11 |
[Python] 그래프 탐색 알고리즘: DFS/BFS_재귀함수 (0) | 2022.06.11 |
[Python] 그래프 탐색 알고리즘: DFS/BFS_큐 자료구조 (0) | 2022.06.11 |
[Python] 그래프 탐색 알고리즘: DFS/BFS _ 스택 자료구조 (0) | 2022.06.11 |
댓글 영역