반응형
소수 계산과 함께 많이 쓰이는 오일러 피 함수 입니다.
피 함수는 자신보다 작은 양수 중에서 자기 자신과의 최대 공약수가 1인 숫자가 몇 개인지를 나타냅니다.
따라서 소수 p의 경우 모든 숫자가 서로 소 이기 때문에 다음과 같이 쓸 수 있습니다.
φ(p) = p - 1
그리고 p와 q가 서로 소인 경우 다음과 같은 식이 성립합니다.
φ(pq) = φ(p)φ(q)
자세한 설명은 다음 링크를 참고하세요.
https://en.wikipedia.org/wiki/Euler%27s_totient_function
def totient(n): phi = int(n > 0 and n) for p in range(2, int(n ** .5) + 1): if not n % p: phi -= phi // p while not n % p: n //= p if n > 1: phi -= phi // n return phi
반응형
'알고리즘 (기초)' 카테고리의 다른 글
Pell's Equation (0) | 2020.04.28 |
---|---|
Combination 소인수 분해 (0) | 2019.10.04 |
유클리드 호제법을 이용한 최대공약수 (GCD) 구하기 (0) | 2019.08.28 |
팩토리얼에서의 지수 계산 (0) | 2018.09.09 |
에라토스테네스의 체 (0) | 2018.08.17 |