https://www.acmicpc.net/problem/10872
10872번: 팩토리얼
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
www.acmicpc.net

나의 코드
재귀는 너무 헷갈리는 것 같다...
import sys
n = int(sys.stdin.readline())
def fact(n):
if (n == 0) | (n == 1):
return 1
else:
return n*fact(n-1)
print(fact(n))

다른분들은 result = 1로 정의하시고 시작하시더라...
def fact(n):
result = 1
if n > 0:
result = n * fact(n-1)
return result
result = 1
if n > 0:
for i in range(1, n+1):
result *= i
'공부 > 알고리즘' 카테고리의 다른 글
| [알고리즘][백준] 2004번 조합 0의 개수 - 파이썬(python) 풀이 (0) | 2024.02.29 |
|---|---|
| [알고리즘][백준] 1676번 팩토리얼 0의 개수 - 파이썬(python) 풀이 (1) | 2024.02.29 |
| [알고리즘][백준] 6588번 골드바흐의 추측 - 파이썬(python) 풀이 (3) | 2024.02.29 |
| [알고리즘][백준] 1929번 소수 구하기 - 파이썬(python) 풀이 (1) | 2024.02.28 |
| [알고리즘][백준] 1934번 최소공배수 - 파이썬(python) 풀이 (1) | 2024.02.28 |