[백준 10872번-파이썬/Python] 팩토리얼
알고리즘 공부/BOJ백준 풀이

[백준 10872번-파이썬/Python] 팩토리얼

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)

*숫자 여러 개의 팩토리얼을 구하라는 문제는 동적 계획법이라는 방법을 통해서도 구할 수 있습니다.