반응형
코딩 문제를 풀다보면 수열의 합 구하기, 팩토리얼 구하기 등등 자주 접하게 됩니다. 이번 포스팅에서는 파이썬을 사용하여 팩토리얼을 구하는 여라가지 방법에 대해 알려드리도록 하겠습니다.
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)
매우 간단하고 무난한 해결방식이다.
반응형
'🐍PYTHON' 카테고리의 다른 글
[Python] 연결 리스트(Linked List) (2) | 2020.04.11 |
---|---|
[PYTHON ] 파이썬 print함수 서식 (0) | 2020.03.04 |
[PYTHON] 파이썬 List(리스트) 정렬 - sort(), reverse() (0) | 2020.02.27 |
[PYTHON] 파이썬 함수, 인수(키워드 인수), 변수(지역, 전역 변수) (0) | 2020.02.16 |
[PYTHON] 파이썬 루프(Loop)의 활용(구구단, 삼각형, 피라미드) (0) | 2020.02.16 |