Processing math: 100%
반응형

오일러 피(파이) 함수(Euler's phi function)는 1부터 n까지의 정수 중 n과 서로소인 수의 개수를 구하는 함수이고, Ф(n)으로 표현합니다.

 

이때, 서로소는  1 이외에 공약수를 갖지 않는 둘 이상의 양의 정수를 말합니다. 이를테면 7과 13은 서로소입니다.

 

[ 동작 원리 ]

 

1. p가 소수인 경우

 

ϕ(p) = p - 1

 

소수인 경우 약수는 1과 자기 자신밖에 없으므로 자기 자신을 제외한 서로소의 개수는 p - 1입니다.

 

2. 소수 p의 거듭제곱인 경우

 

ϕ(pk) = pk - 1(p - 1)

 

소수 p의 거듭제곱과 서로소가 아닌 경우는 p의 배수일 경우입니다. p, 2p, 3p... pk - 1 * p 즉, pk - 1개가 있습니다. 따라서 ϕ(pk의 개수는 pk - 1(p - 1)입니다.

 

3. a와 b가 서로소일 때

 

ϕ(ab) = ϕ(a)ϕ(b)

 

Ф(ab)는 1부터 ab - 1까지의 수 중에서 ab와 나누어 떨어지는 숫자를 세어보면 a는 b - 1개만큼, b는 a - 1개만큼 있습니다.

 

따라서,

ϕ(ab) = (ab - 1) - (a + b - 2)

= ab - a - b + 1

= (a - 1)(b - 1) 

= ϕ(a)ϕ(b)      

이 됩니다.

 

 

마지막으로 유도한 식들을 바탕으로 임의의 양의 정수 n에 대해 Ф(n)을 구해보겠습니다.

 

n=pk11pk22pknn으로 나타낼 수 있습니다.

 

따라서,

 

ϕ(n)=ϕ(pk11)ϕ(pk22)ϕ(pk33)ϕ(pknn)

             =pk11(11p1)pk22(11p2)pk33(11p3)pknn(11pn)

             =pk11pk22pk33pknn(11p1)(11p2)(11p3)(11pn)

             =n(11p1)(11p2)(11p3)(11pn)

 

이 됩니다.

 

이렇게 ϕ(n) 을 1부터 n - 1까지의 모든 숫자에 대해 최대공약수를 구할 필요 없이 깔끔하게 구할 수 있습니다.

 

반응형

+ Recent posts