참고자료
공식문서(번역) : https://docs.python.org/ko/3/library/math.html
w3 문서(영어) : https://www.w3schools.com/python/module_math.asp
math 모듈은 파이썬에 기본으로 탑재된 내장 모듈(built-in module)로, 수학에 대한 다양한 함수를 제공한다.
대부분의 코딩테스트는 math와 같은 내장 라이브러리의 사용이 가능하기 때문에 알아두면 매우 유용할 것 같아 정리하려 한다.
math.ceil(x)
: 소수를 올림하여 정수로 반환하는 함수이다.
math.floor(x)
: 소수를 내림하여 정수로 반환하는 함수이다.
math.ceil(3.14) # 4
math.floor(3.14) # 3
math.gcd(int1, int2, ...)
: 인자의 최대공약수를 반환한다.
math.lcm(int1, int2, ...)
: 인자의 최소공배수를 반환한다. (3.9부터 사용 가능)
※ 파이썬 3.9부터 3개 이상의 인자를 지원한다. 이전 버전은 2개의 인자만 받을 수 있다.
math.gcd(4, 16, 24) # 4
math.lcm(4, 16, 24) # 48
math.sqrt(x)
: 인자의 제곱근을 소수로 반환한다.
math.isqrt(x)
: 인자의 제곱근을 소수점 내림하여 정수로 반환한다. (3.8부터 사용 가능)
※ 음의 값을 인자로하면 ValueError가 발생한다.
math.sqrt(5) # 2.23606797749979
math.isqrt(5) # 2
math.factorial(x)
: 양의 정수를 인자로 받아 팩토리얼값을 반환한다.
math.comb(n, r)
: 조합, 즉 nCr을 계산하여 반환한다. (3.8부터 사용 가능)
※ 인자는 모두 양의 정수여야하며, r > n일 경우 0이 반환된다.
math.perm(n, [r])
: 순열, 즉 nPr을 계산하여 반환한다. (3.8부터 사용 가능)
※ 인자는 모두 양의 정수여야하며, r > n일 경우 0이 반환된다.
※ r을 지정하지 않거나, None일 경우 n!이 반환된다.
math.factorial(7) # 5040
math.comb(7,3) # 35
math.perm(7,3) # 210
math.perm(7) # 5040