반응형

보통 팩토리얼의 경우 숫자가 너무 커지기 때문에 정확한 값을 계산할 수 없는 경우가 많습니다.


하지만 팩토리얼 값을 소인수 분해했을 때, 지수가 어떻게 되는 지는 계산이 가능합니다.



다음 링크에서 자세한 설명을 보실 수 있습니다.


https://janmr.com/blog/2010/10/prime-factors-of-factorial-numbers/



특정 소수에 대한 지수를 계산하는 코드는 다음과 같습니다.


import math

def factorialExp(n, p):
    tRet = 0
    tVal = int(math.log(n, p))
    for i in xrange(1, tVal+1):
        tRet += n // p**i
    return tRet


반응형

'알고리즘 (기초)' 카테고리의 다른 글

Pell's Equation  (0) 2020.04.28
Combination 소인수 분해  (0) 2019.10.04
유클리드 호제법을 이용한 최대공약수 (GCD) 구하기  (0) 2019.08.28
오일러 피 함수  (0) 2018.08.30
에라토스테네스의 체  (0) 2018.08.17

+ Recent posts