반응형

 

 

코딩 문제를 풀다보면 수열의 합 구하기, 팩토리얼 구하기 등등 자주 접하게 됩니다. 이번 포스팅에서는 파이썬을 사용하여 팩토리얼을 구하는 여라가지 방법에 대해 알려드리도록 하겠습니다.

 

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)

매우 간단하고  무난한 해결방식이다.

반응형

+ Recent posts