http://acmicpc.net/problem/10872
{코드}
def factorial(n):
if n < 2:
return 1
return n * factorial(n-1)
print(factorial(int(input())))
{설명}
팩토리얼은 n부터 1까지의 곱으로 5의 경우 5*4*3*2*1=120입니다.
팩토리얼은 반복문으로도 풀 수 있으나 재귀라는 문제의 의도를 살려 재귀로 풀었습니다.
아래는 반복문을 활용한 방법입니다.
#반복문
ans = 1
for n in range(int(input(), 1, -1):
ans *= n
print(ans)
*숫자 여러 개의 팩토리얼을 구하라는 문제는 동적 계획법이라는 방법을 통해서도 구할 수 있습니다.
'알고리즘 공부 > BOJ백준 풀이' 카테고리의 다른 글
[백준 2447번-파이썬/Python] 별 찍기 - 10 (0) | 2020.12.21 |
---|---|
[백준 10870번-파이썬/Python] 피보나치 수 5 (0) | 2020.12.20 |
[백준 1002번-파이썬/Python] 터렛 (0) | 2020.12.18 |
[백준 3053번-파이썬/Python] 택시 기하학 (0) | 2020.12.18 |
[백준 4153번-파이썬/Python] 직각삼각형 (0) | 2020.12.18 |