Mateusz: No właśnie tak się zastanawiałem czy wykładnikiem potęgi może być liczba złożona. Uznałem, że
nie, ale jak widać mogą. Dzięki za ten link, poczytałem i już nie pytam dlaczego φ(23) = 22.

A jeżeli na sprawdzianie dostanę liczbę 2006 to mam po kolei wszystkie liczby pierwsze
sprawdzać?
Vax:
16 = 2
4, rozkładając liczbę na czynniki pierwsze rozkładamy je tak, żeby kolejne czynniki były
różnymi liczbami pierwszymi, tj bierzemy maksymalne wykładniki w których występują dane liczby
| | 1 | |
pierwsze. Wówczas φ(16) = 16 * (1− |
| ) = 8. |
| | 2 | |
Proponuję jednak po prostu zapamiętać wzór φ(p
k) = p
k−1(p−1), wówczas korzystając z
multiplikatywności funkcji Eulera możemy wyznaczyć szybko wartość dowolnej liczby naturalnej
(funkcja φ jest multiplikatywna, czyli dla nwd(a,b)=1 zachodzi φ(a*b) = φ(a)*φ(b) co od razu
daje nam φ(p
1a1*p
2a2*...*p
kak) = φ(p
1a1)*φ(p
2a2)*...*φ(p
kak).
Przykładowo chcąc wyznaczyć φ(60) widzimy, że 60 = 2
2*3*5, więc:
φ(60) = φ(2
2)φ(3)φ(5) = 2*2*4 = 16

Co do pytania o rozkład liczb na czynniki pierwsze, to na początku sprawdzamy (korzystając z
odpowiednich cech podzielności) czy dana liczba dzieli się przez 2,3,5 itd i jeżeli jest przez
którąś podzielna, to sprawdzamy tak samo iloraz tej liczby i owej liczby pierwszej, gdy
otrzymamy już liczbę która nie dzieli się przez parę początkowych liczb pierwszych to lecimy
dalej i sprawdzamy kolejne wyższe liczby pierwsze, ale z reguły to już szybko zlatuje, bo nie
musimy sprawdzać wszystkich liczb pierwszych do n, tylko wszystkie dzielniki pierwsze do
√n
| | 2006 | |
 Na przykładzie 2006, widzimy, że dzieli się przez 2, więc patrzymy na |
| = 1003, od |
| | 2 | |
razu widzimy, że 1003 nie dzieli się przez 2,3,5,7,11,13 ale przez 17 już się dzieli i
| | 1003 | |
otrzymujemy |
| = 59, co naturalnie jest liczbą pierwszą, więc 2006 = 2*17*59. Czyli |
| | 17 | |
jak ktoś chce policzyć wartość funkcji Eulera dla 2006 to φ(2006) = φ(2)*φ(17)*φ(59) = 1*16*58
= 928. Jak widać znalezienie danego rozkładu jest tutaj bardzo szybkie