🐍PYTHON
[PYTHON] 파이썬 팩토리얼(Factorial)을 구하는 여러가지 방법
Cocoon_
2020. 2. 28. 09:20
반응형
코딩 문제를 풀다보면 수열의 합 구하기, 팩토리얼 구하기 등등 자주 접하게 됩니다. 이번 포스팅에서는 파이썬을 사용하여 팩토리얼을 구하는 여라가지 방법에 대해 알려드리도록 하겠습니다.
1. 파이썬에서 제공하는 팩토리얼 함수 이용
import math
n = int(input())
print(math.factorial(n))
파이썬에서는 다양한 수학적 연산을 지원하는 math 모듈을 내장하고 있는데요 이 모듈에서 팩토리얼 함수를 사용할 수 있습니다.
2. 재귀함수 사용
def fac(i):
if i == 0 or i == 1:
return 1
else:
return fac(i-1)*i
n = int(input())
print(fac(n))
또는
def fac(n):
return n * fac(n-1) if n > 1 else 1
n = int(input())
print(fac(n))
재귀함수 사용 시 함수 내에서 동명의 함수를 재호출하기 때문에 스택오버플로우(stack overflow)가 발생할 수 있어 탈출조건(base case)을 정해줘야 한다.
def fac(i)
if i > 1 => i*fac(i-1)
else => 1
3. 단순 반복문 사용
n = int(input())
sum = 1
for i in range(n):
sum *= i+1
print(sum)
매우 간단하고 무난한 해결방식이다.
반응형