Md06 - Teoria liczb
Transkrypt
Md06 - Teoria liczb
Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Teoria liczb 1.1 Dzielenie całkowitoliczbowe Zacznijmy od przypomnienia szkolnego algorytmu dzielenia liczb naturalnych. Podzielmy 1743 przez 12. 1 1 1 7 2 5 4 4 4 5 3 4 8 6 6 : 1 2 3 0 3 W wyniku dzielenia otrzymaliśmy iloraz 145 i reszt˛e 3. Liczby te spełniaja˛ równanie i reszta jest mniejsza od dzielnika. Podobnie możemy postapić ˛ dla dowolnych liczb natu ralnych i pod warunkiem, że . Twierdzenie 1.1 Dla dowolnych liczb naturalnych oraz para liczb naturalnych i spełniajacych ˛ warunki: ! istnieje dokładnie jedna #"$ nazywa si˛e ilorazem całkowitoliczbowym przez , a nazywa si˛e reszta̧ z dzielenia &% Zauważmy, że iloraz jest zaokra̧gleniem w dół normalnego ilorazu (')+* . Iloraz całkowitoliczbowy liczb i bȩdziemy oznaczać przez -,. /10(2 3 43651789 4 Rozdział 1. Teoria liczb a reszt˛e przez 63 ) Przykład 1.2 , ! oraz ) ! 63 9 , ponieważ -. oraz $ " . W przypadku, gdy i sa˛ liczbami całkowitymi iloraz i różnice można róznie definiowa ć. Na przykład w jȩzyku Pascal iloraz dwóch liczb typu całkowitego oznacza siȩ przez a div b % ') w dół, gdy 6') jest dodatnie i (') , — i jest to 6')+* — zaokra̧glenie ilorazu 6 zaokra̧glenie ilorazu (' w górȩ, gdy (') jest ujemne. Reszta, która̧ oznacza siȩ przez a mod b, jest określona wzorem: a mod b = a-(a div b)*b. Mamy wiȩc, na przykład: 22 div 4 = 5; (-22)div 4 = -5; 22 div(-4)= -5; (-22)div(-4)= 5; 22 mod 4 = 2; (-22)mod 4 = -2; 22 mod(-4)= 2; (-22)mod(-4)= -2. 1.2 Podzielność liczb Mówimy, że liczba całkowita wita , taka że: dzieli liczbȩ całkowita̧ , jeżeli istnieje liczba całko 9 Bȩdziemy to oznaczać przez . Zauważmy, że zachodzi wtedy: 63 9 Liczbȩ nazywamy dzielnikiem liczby . , oraz . Lemat 1.4 Jeżeli oraz , to oraz Dowód. Jeżeli i , to istnieja̧ dwie liczby całkowite i oraz 9 Przykład 1.3 Mamy wiȩc: oraz czyli dzieli oraz . , takie że: 1.3. Relacja kongruencji 5 1.3 Relacja kongruencji Niech bȩdzie dowolna̧ liczba̧ naturalna̧ . Powiemy, że dwie liczby całkowite i sa̧ równoważne (lub przystaja̧) modulo , jeżeli 9 Bȩdziemy wtedy pisać: Przykład 1.5 63 . 63 , 63 9 63 , 63 Jeżeli i sa˛ dodatnie, to same reszty z dzielenia przez . 63 , wtedy i tylko wtedy, gdy i maja˛ takie Lemat 1.6 Relacja przystawania modulo jest relacja̧ równoważności, czyli spełnia nastȩpuja̧ce trzy warunki: zwrotno´ sc´, dla każdego zachodzi symetriȩ, dla każdego i , jeżeli przechodnio´ sc´, dla każdego , i , jeżeli 63 i 63 , 63 to 63 Dowód. Udowodnimy tylko przechodniość relacji. Jeżeli to czyli . 63 , 63 . oraz to Ponadto relacja modulo jest zgodna z dodawaniem, odejmowaniem i mnożeniem. Twierdzenie 1.7 Jeżeli 63 3 oraz 3 3 to: 63 9 Dowód. Z założenia mamy: z tego zaś łatwo wynika, że dzieli: oraz ! czyli zachodzi teza twierdzenia. Przykład 1.8 Twierdzenie 1.7 może być użyte do obliczania reszty z dzielenia Jeżeli chcemy policzyć na przykład 63 6 Rozdział 1. Teoria liczb to pytamy, która z trzech liczb przystaje do 1999 modulo 3. Zróbmy najpierw kilka prostych obserwacji. Po pierwsze: 63 . Z twierdzenia 1.7 wynika, że każda potȩga liczby dziesiȩć przystaje do 1 bo modulo 3, czyli: dla każdego . Mamy teraz: 3 )84 )8 63 9 Podobnie, dla dowolnej liczby , jeżeli zapiszemy w postaci dziesiȩtnej: to 63 czyli ma takie same reszty modulo 3 co suma cyfr w zapisie dziesiȩtnym. Przykład 1.9 Aby przekonać si˛e, że )8 ( wystarczy zauważyć, że liczba jest parzysta, wi˛ec także wynik mnożenia powinien ) byż parzysty. Mówiac ˛ inaczej 63 oraz 63 , wi˛ec na ( podstawie twierdzenia 1.7 mamy 63 , a liczba przystaje do jedynki modulo 2. Podobnie możemy si˛e przekonać, że )8 )# ( wystarczy zauważyć, że w iloczynie ostatnia˛ cyfra˛ powinno być 8 a nie 6. Inaczej oraz 63 3 , wi˛ec na podstawie twierdze . 63 , a liczba ) przystaje do 6 modulo nia 1.7 mamy 10. 1.4 Klasy abstrakcji Dla relacji przystawania modulo definiujemy klasy abstrakcji. Dla dowolnej liczby całkowitej , klasȩ abstrakcji elementu definiujemy w nastȩpuja̧cy sposób: 3 9 Innymi słowy, klasa abstrakcji liczby to zbiór wszystkich liczb z nia̧ równoważnych. Przykład 1.10 Dla mamy trzy klasy abstrakcji 1.5. Pierścień 9 9 9 7 9 99 9 99 99 9 ) 9 99 99 9 Zauważmy, że klasy abstrakcji elementów równoważnych pokrywaja̧ siȩ. Lemat 1.11 Jeżeli 63 Dowód. Jeżeli to 63 to i z przechodniości relacji a wiȩc pokazaliśmy, że: . 63 , czyli: 9 Identycznie pokazujemy zawieranie odwrotne . Nastȩpna ważna własność klas abstrakcji to ich rozła̧czność. to Lemat 1.12 Jeżeli , inaczej, dwie klasy abstrakcji i albo sa̧ identyczne, albo sa̧ rozła̧czne. Dowód. Przypuśćmy, że klasy i maja̧ wspólny element . Wtedy: 63 Z przechodniości mamy wtedy 63 9 63 , a z lematu 1.11 . 1.5 Pierścień Klasy abstrakcji relacji modulo Dla dowolnego z przedziału wygla̧daja̧ nastȩpuja̧co: # 99 9 9 , klasa jest postaci: ( oznacza zbiór liczb całkowitych). Zbiór klas abstrakcji modulo oznacza siȩ przez . Ponieważ relacja modulo jest zgodna z działaniami dodawania i mnożenia, możemy zdefiniować dodawanie i mnożenie na klasach abstrakcji. Mówia̧c w skrócie, aby wykonać działanie na dwóch klasach abstrakcji, wybieramy dowolnych przedstawicieli tych 8 Rozdział 1. Teoria liczb klas i wykonujemy działania na tych przedstawicielach. Dokładniej, dodawanie klas abstrakcji definiujemy nastȩpuja̧co: 9 Podobnie definiujemy odejmowanie i mnożenie: 9 Poniższy lemat pokazuje, że działania te sa̧ dobrze zdefiniowane; że wynik działania na dwóch klasach nie zależy od wyboru reprezentantów. Lemat 1.13 Jeżeli oraz to: 9 Dowód. Z założenia mamy: a z twierdzenia 1.7: 63 Przykład 1.14 Niech należy do 63 9 oraz . Dla dowolnych liczb ) dwóch . a iloczyn do 9 i ich suma Lemat 1.15 Działania na klasach abstrakcji 9 99 spełniaja̧ nastȩpuja̧ce warunki: dodawanie oraz mnożenie sa̧ przemienne i ła̧czne, klasa jest elementem neutralnym dodawania, to znaczy dla każdego mamy , dla każdej klasy istnieje klasa do niej przeciwna 8 , taka że 8 , jest elementem neutralnym mnożenia, to znaczy dla dowolnego mamy , mnożenie jest rozdzielne wzglȩdem dodawania, czyli dla każdych trzech klas , , mamy . klasa Zbiór z dwoma działaniami spełniaja̧cymi powyższe warunki nazywa siȩ pierścieniem przemiennym z jedynka̧. 1.5. Pierścień 9 Dowód: Udowodnimy tylko rozdzielność: 9 Skorzystaliśmy w tym dowodzie z rozdzielności mnożenia wzglȩdem dodawania dla liczb całkowitych. Przykład 1.16 Rozważmy zbiór reszt modulo 5. Składa siȩ on z piȩciu klas: dla prostoty bȩdziemy dalej opuszczać nawiasy. Mamy wiȩc zbiór: z dodawaniem i mnożeniem określonym nastȩpuja̧cymi tabelami: + 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 0 0 0 0 0 0 0 1 2 3 4 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1 Zauważmy, że każdy element oprócz zera ma w element odwrotny wzglȩdem mnożenia, czyli dla każdego istnieje taki że : 9 Dlatego jest ciałem, czyli pierścieniem przemiennym z jedynka̧ i z odwrotnościa̧ wzglȩdem mnożenia. Przykład 1.17 Rozważmy teraz pierścień reszt modulo 4: gdzie dodawanie i mnożenie jest określone nastȩpuja̧cymi tabelami: + 0 1 2 3 0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 nie jest ciałem, ponieważ nie ma w nim elementu odwrotnego do 2. Ponadto w mamy: - czyli zero można przedstawić jako iloczyn dwóch liczb różnych od zera. 10 Rozdział 1. Teoria liczb Łatwo zauważyć, że jeżeli liczba jest złożona, dla " " , to w pierścieniu mamy i ani , ani nie maja̧ elementów odwrotnych. Przypuśćmy bowiem, że istnieje . Mamy wtedy: czyli , sprzeczność. Tak wiȩc nie jest ciałem, jeżeli jest liczba̧ złożona̧. W dalszej czȩści tego rozdziału zobaczymy, że jeżeli jest liczba̧ pierwsza̧, to jest ciałem. 1.6 Najwiȩkszy wspólny dzielnik Dla dwóch liczb całkowitych i , ich najwiȩkszy wspólny dzielnik to po prostu najwiȩksza liczba całkowita , która dzieli i . Najwiȩkszy wspólny dzielnik liczb i bȩdziemy oznaczać przez . Na przykład: , . 1.7 Algorytm Euklidesa Najwiȩkszy wspólny dzielnik dwóch liczb dodatnich można obliczyć za pomoca̧ algorytmu Euklidesa. Algorytm Euklidesa. Aby obliczyć najwiȩkszy wspólny dzielnik dwóch dodatnich liczb naturalnych , , powtarzamy aż do skutku: jeżeli jeżeli , to jeżeli " , to koniec, , to , , . Powyższy algorytm odejmuje od wiȩkszej liczby mniejsza̧ tak długo, aż liczby bȩda̧ równe. Wtedy wynikiem działania algorytmu jest wspólna wartość tych liczb. W uproszczonej wersji jȩzyka Pascal algorytm Euklidesa można zapisać w nastȩpuja̧cy sposób: p:=a;q:=b; while p<>q do if p>q then p:=p-q else q:=q-p; NWD(a,b):=p W poniższej tabeli pokazano kolejne kroki działania algorytmu Euklidesa na parze liczb 36 i 15: 1.7. Algorytm Euklidesa 11 36 21 6 6 6 3 15 15 15 9 3 3 Tak wiȩc 3 jest najwiȩkszym wspólnym dzielnikiem liczb 15 i 36. Poprawność algorytmu Euklidesa wynika z poniższego lematu. Lemat 1.18 Niech i bȩda̧ dwoma liczbami naturalnymi i niech para ma taki sam zbiór wspólnych dzielników jak para , . " " . Wtedy Dowód. Jeżeli liczba jest wspólnym dzielnikiem pary , to dzieli także , czyli jest wspólnym dzielnikiem pary , . Na odwrót, jeżeli liczba jest wspólnym dzielnikiem pary , , to dzieli także , czyli jest wspólnym dzielnikiem pary . Tak wiȩc po każdej iteracji pȩtli while para ma taki sam zbiór wspólnych dziel ników, a wiȩc także taki sam najwiȩkszy wspólny dzielnik. Na ko ńcu, gdy , wów czas oczywiście . Należy jeszcze pokazać, że dla każdej pary dodatnich liczb naturalnych i algorytm zatrzyma siȩ. Ale to wynika z faktu, że po każdej iteracji pȩtli while liczba jest coraz mniejsza, a ponieważ jest to zawsze liczba naturalna dodatnia, wiȩc nie może zmniejszać siȩ w nieskończoność. Zauważmy przy okazji, że jeżeli jedna z dwóch liczb, lub , jest zerem, to algorytm nie zatrzyma siȩ. Twierdzenie 1.19 Niech i bȩda̧ dwoma dodatnimi liczbami naturalnymi i niech . Wtedy istnieja̧ liczby całkowite i , takie że: lub mówia̧c inaczej, ( jest kombinacja̧ całkowitoliczbowa̧ liczb i . Dowód. Pokażmy, że wszystkie wartości, jakie przyjmuja̧ zmienne i w trakcie wykonywania algorytmu Euklidesa, sa̧ całkowitoliczbowymi kombinacjami liczb i . Na i , mamy: pocza̧tku, gdy Załóżmy teraz, że po -tej iteracji pȩtli Wtedy w ) 9 $ oraz że zachodzi: 9 iteracji bȩdzie pomniejszone o i bȩdziemy mieli: 9 Z tego wynika, że także ostateczna wartość zmiennej (która jest równa ) jest całkowitoliczbowa̧ kombinacja̧ liczb i . 12 Rozdział 1. Teoria liczb Algorytm Euklidesa można tak zmodyfikować, aby oprócz najwiȩkszego wspólnego dzielnika , wyliczał także liczby i , takie że: ( 9 Oto ten algorytm w jȩzyku Pascal: p:=a;q:=b; xp:=1;yp:=0; xq:=0;yq:=1; while p<>q do if p>q then begin p:=p-q; xp:=xp-xq; yp:=yp-yq end else begin q:=q-p; xq:=xq-xp; yq:=yq-yp end; NWD(a,b):=p; x:=xp,y:=yp W poniższej tabeli pokazano kolejne kroki działania rozszerzonego algorytmu Euklidesa na parze liczb 36 i 15: 36 21 6 6 6 3 15 15 15 9 3 3 1 1 1 1 1 3 0 -1 -2 -2 -2 -7 6 0 0 0 -1 -2 -2 1 1 1 3 5 5 Tak wiȩc liczbȩ 3 można przedstawić jako kombinacjȩ liczb 15 i 36 w nastȩpuja̧cy sposób: ) 9 Zauważmy, że jeżeli jakaś liczba dzieli liczby i , to dzieli także każda̧ ich kombinacjȩ całkowita̧ ( a wiȩc dzieli także najwiȩkszy wspólny dzielnik lemat. . Udowodniliśmy poniższy 1.8. Liczby pierwsze i wzglȩdnie pierwsze Lemat 1.20 13 jest podzielny przez każdy wspólny dzielnik liczb i . może być rówZ lematu 1.20 wynika, że najwiȩkszy wspólny dzielnik noważnie zdefiniowany jako taki wspólny dzielnik liczb i , który jest podzielny przez każdy wspólny dzielnik i . Lemat 1.21 Liczba jest najwiȩkszym wspólnym dzielnikiem liczb i wtedy i tylko wtedy gdy bȩdzie wspólnym dzielnikiem i oraz istnieja̧ liczby całkowite i , takie ! że ( . to , oraz (z twierdzenia 1.19) istnieja̧ liczby całkoDowód Jeżeli ! wite i , takie że: ( . Na odwrót, jeżeli dzieli i oraz ( , to każdy wspólny dzielnik i dzieli , a wiȩc jest najwiȩkszym wspólnym dzielnikiem i . Wniosek 1.22 Jeżeli istnieja̧ liczby całkowite i , takie, że . Przykład 1.23 Zastanówmy siȩ, ile wynosi ) )) ) ( ( )) . Ponieważ: ) oraz 2 jest wspólnym dzielnikiem 1998 i 2000, wiȩc ))( Zastanówmy siȩ teraz, ile wynosi . Ponieważ: wiȩc , to . dzieli 2, a ponieważ 2 nie dzieli ani 1999, ani 2001, wiȩc . 1.8 Liczby pierwsze i wzglȩdnie pierwsze , a liczba Dwie liczby naturalne i sa˛ wzglȩdnie pierwsze, jeżeli naturalna jest pierwsza, jeżeli i jedynymi dzielnikami naturalnymi sa̧ jedynka i samo . Oto wszystkie liczby pierwsze mniejsze od 50: ) ) ( ) 9 Liczba , która nie jest pierwsza jest złożona. Istnieja˛ wtedy dwie liczby , takie, że . " , 1.9 Rozkład liczb na czynniki pierwsze W tym rozdziale zobaczymy, że każda̧ liczbȩ naturalna̧ można rozłożyć na czynniki pierwsze i że taki rozkład jest jednoznaczny z dokładnościa̧ do kolejności czynników. Na przykład: ) i 9 14 Rozdział 1. Teoria liczb Twierdzenie 1.24 Każda̧ liczbȩ naturalna̧ pierwszych (niekoniecznie różnych): można przedstawić jako iloczyn liczb 9 Dowód nie wprost. Przypuśćmy, że istnieje liczba naturalna , której nie można przedstawić jako iloczynu liczb pierwszych i że jest najmniejsza̧ taka̧ liczba̧. nie może być liczba̧ pierwsza̧ (bo wtedy ), wiȩc jest liczba̧ złożona̧, czyli jest postaci: dla " pierwsze . Ale ponieważ i sa̧ mniejsze od , wiȩc można je rozłożyć na czynniki ale wtedy, wbrew założeniu, mamy rozkład liczby na czynniki pierwsze: 9 Aby pokazać, że rozkład jest jednoznaczny (z dokładnościa̧ do kolejności czynników), musimy najpierw udowodnić dwa lematy. Lemat 1.25 Niech i bȩda̧ dodatnimi wzglȩdnie pierwszymi liczbami naturalnymi. Wtedy dla dowolnej liczby , jeżeli , to . Dowód. Z twierdzenia 1.19, istnieja̧ dwie liczby całkowite i , takie że: 6 9 Pomnóżmy teraz obie strony tego równania przez : ( i zauważmy, że dzieli oba składniki po lewej stronie równania, a wiȩc dzieli prawa̧ stronȩ, czyli . Lemat 1.26 Jeżeli liczba pierwsza dzieli iloczyn liczb pierwszych (niekoniecznie różnych), to wtedy jest równe jednej z liczb . Dowód przez indukcjȩ ze wzglȩdu na . Dla mamy , a ponieważ pierwsza i , wiȩc . Załóżmy teraz, że teza zachodzi dla i przypuśćmy, że dzieli 9 jest . Mamy dwa przypadki: albo dzieli , albo nie. W pierwszym przypadku , bo 1 i to jedyne dzielniki liczby W drugim przypadku mamy . Z lematu 1.25 wynika teraz, że dzieli a z założenia indukcyjnego, że 4 dla jakiegoś . . 1.10. Elementy odwracalne 15 Udowodnimy teraz, że rozkład liczby na czynniki pierwsze jest jednoznaczny, z dokładnościa̧ do kolejności czynników. Twierdzenie 1.27 Każda̧ liczbȩ naturalna̧ stawić w postaci iloczynu: można w dokładnie jeden sposób przed- 9 99 gdzie sa̧ dodatnimi liczbami naturalnymi, sa̧ liczbami pierwszymi oraz zachodzi " " 99 9(" . Dowód. Twierdzenie 1.24 orzeka, że liczba ma rozkład na czynniki pierwsze. Trzeba pokazać, że jest to rozkład jednoznaczny. jako liczba pierwsza ma jednoznaczny rozkład. Przypuśćmy, że jest najmniejsza̧ liczba̧ z dwoma różnymi rozkładami: 999 99 9 9 (1.1) Wtedy z jednej strony nie może wystȩpować po prawej stronie równania (1.1), bo ' byłoby mniejsza̧ liczba̧ z niejednoznacznym rozkładem. Z drugiej strony dzieli prawa̧ stronȩ, a wiȩc, z lematu 1.26 wystȩpuje po prawej stronie. Mamy wiȩc sprzeczność. Lemat 1.28 Jeżeli i sa̧ wzglȩdnie pierwsze, to ich rozkłady sa̧ rozła̧czne, to znaczy maja̧ rozła̧czny zbiór liczb pierwszych wystȩpuja̧cych w ich rozkładach. 1.10 Elementy odwracalne Definicja 1.29 Element jest odwracalny, jeżeli istnieje 63 9 , takie, że nazywamy elementem odwrotnym do i oznaczamy przez . Przykład 1.30 jest odwracalna w bo . Oprócz 3 w 3 calne sa˛ także , i . Lemat 1.31 Liczba Dowód. Jeżeli jest odwracalna wtedy i tylko wtedy, gdy dzieli odwra- . , to istnieja̧ liczby całkowite i , takie że: a wiȩc , czyli: 63 9 Teraz wystarczy przyja̧ć za taka̧ liczbȩ z przedziału od 1 do do modulo . Z drugiej strony jeżeli istnieje element odwrotny do to 63 , która przystaje 16 Rozdział 1. Teoria liczb czyli dla jakiegoś . Mamy wiȩc czyli (wniosek 1.22). Z powyższego dowodu wynika, że element odwrotny do można wyliczyć stosuja̧c algorytm Euklidesa. Na przykład policzmy element odwrotny do 12 w pierścieniu . Najpierw zastosujemy algorytm Euklidesa, aby obliczyć i , takie że: 9 Kolejne kroki algorytmu przedstawiono w tabeli: 17 5 5 5 3 1 12 12 7 2 2 2 Mamy wiȩc: -) czyli: ale: 1 1 1 1 3 5 0 -1 -1 -1 -4 -7 1 1 2 3 3 3 63 3 6 0 0 -1 -2 -2 -2 . czyli 10 jest elementem odwrotnym do 12 w pierścieniu Definicja 1.32 Zbiór elementów odwracalnych w oznaczamy przez Przykład 1.33 . Lemat 1.34 Jeżeli liczba jest pierwsza, to każdy element calny, czyli pierścień jest ciałem. Lemat 1.35 Jeżeli to oraz To oznacza, że z mnożeniem jest grupa̧. Dowód: Elementem odwrotnym do iloczynu 6 jest jest . , . , jest odwra- . , a elementem odrotnym do 1.11. Funkcja liniowa 17 1.11 Funkcja liniowa Zastanówmy siȩ jak w pierścieniu działa funkcja liniowa 63 9 Rozpatrzmy najpierw przypadek, gdy i sa̧ wzglȩdnie pierwsze, czyli gdy . Dla i wartości funkcji przedstawia tabela x 3x 0 0 1 3 2 6 3 1 4 4 5 7 6 2 7 5 W takim przypadku istnieje element odwrotny do i funkcja jest odwrotna do . Rzeczywiście , która 9 jest wzajemnie jednoznaczna i "na" oraz, że dla każdego Z tego wynika, że równanie . ma dokładnie jedno rozwia̧zanie w pierścieniu , jest ono równe Funkcja jest permutacja̧ w i wykorzystuje siȩ ja̧, gdy trzeba wymieszać (prze permutować) elementy . Zauważmy, że jest także permutacja˛ w . Rzeczywiście, jeżeli , to na podstawie lematu 1.35 . Mamy wiȩc . Lemat 1.36 Jeżeli jednoznaczna̧ w i w , to funkcja jest funkcja̧ wzajemnie Rozpatrzmy teraz przypadek, gdy i nie sa̧ wzglȩdnie pierwsze, czyli gdy . Dla i wartości funkcji przedstawia tabela x 6x 0 0 1 6 2 4 3 2 4 0 5 6 6 4 7 2 Zauważmy, że jeżeli jest wartościa̧ funkcji , czyli gdy to istnieje takie , że a ponieważ dzieli i liczby podzielne przez . Lemat 1.37 Jeżeli , to oraz oraz dzieli , a wiȩc wartościami funkcji 63 (' moga̧ być tylko , to równania 63 ' 63 ' sa̧ równoważne, czyli maja̧ ten sam zbiór rozwia̧zań w zbiorze liczb całkowitych. 18 Rozdział 1. Teoria liczb Dowód 3 wtedy i tylko wtedy, gdy istnieje takie że a to zachodzi wtedy i tylko wtedy, gdy istnieje takie, że (' ' czyli wtedy i tylko wtedy, gdy (' Przypuśćmy teraz, że ' ' 63 9 ' dzieli i rozwia̧żmy równanie w pierścieniu (1.2) 99 9 , czyli szukamy takich 3 (1.3) Z lematu 1.37, to równanie jest równoważne równaniu Ale teraz (' ' 99 9 ' takie że (' ' 63 , że ' (1.4) i równanie (1.4) ma dokładnie jedno rozwia̧zanie (' ' 3 9 ' Ale równania (1.4) i (1.3) sa̧ spełnione także przez liczby ' . 99 9 ' ' 9 Sa̧ to wszystkie liczby ze zbioru 9 99 spełniaja̧ce równania (1.4) i (1.3), czyli wszystkie rozwia̧zania równania (1.2) w pierścieniu . Przykład 1.38 Rozwia̧żmy równanie Ponieważ W mamy równaia (1.5) w 63 9 (1.5) , wiȩc najpierw rozwia̧zujemy równanie 63 wiȩc rozwia̧zaniem jest sa̧ liczby 9 . Tak wiȩc rozwia̧zaniami 1.12. Szyfry liniowe 19 1.12 Szyfry liniowe Przypuśćmy, że mamy tekst zapisany za pomoca̧ 26 liter alfabetu łaci ńskiego: i chcemy ten tekst zaszyfrować. W tym celu utożsamiamy zbiór liter z elementami pierścienia : wybieramy dwie liczby literze według wzoru: 9 99 , takie że 3 9 Funkcja deszyfruja̧ca jest określona wzorem: Rzeczywiście: Z tego wynika, że funkcja szyfruja̧ca Przykład 1.39 Wybierzmy i , i szyfrujemy litera po 63 9 9 jest wzajemnie jednoznaczna. ) i zaszyfrujmy słowo 6 9 W tym celu musimy zaszyfrować 6 liter: , , , , oraz . Obliczenia przedstawiono w tabeli: Słowo litera m a t e y k 12 0 19 4 24 10 szyfr k u p i a q 10 20 15 8 0 16 6 po zaszyfrowaniu wygla̧da tak: 9 Jeżeli zaś zastosujemy ten sam szyfr do pocza̧tkowego zdania z wiersza Lokomotywa Juliana Tuwima: stoi na stacji lokomotywa, to otrzymamy: spewhuspuotwneqekepagu. 20 Rozdział 1. Teoria liczb A oto program w jȩzyku Pascal, który szyfruje teksty zapisane za pomoca̧ 26 liter alfabetu łacińskiego: var t:string; a,b,i,m:integer; begin writeln(’podaj klucz’); write(’a=’); readln(a); write(’b=’); readln(b); writeln(’podaj tekst do zaszyfrowania’); readln(t); for i:=1 to length(t) do begin m:=((ord(t[i])-97)*a+b)mod(26)+97; write(chr(m)) end end. Komentarz. Zmienna t jest typu string, czyli łańcuch. Taka̧ zmienna̧ można traktować jak tablicȩ z indeksami od 1 do length(t) i z wartościami typu char (znak). Zmienne typu char sa̧ przechowywane w jednym bajcie i moga̧ zawierać jeden znak. Listȩ znaków wraz z odpowiadaja̧cymi im numerami (od 0 do 255) zawiera tak zwany kod ASCII. Małe litery alfabetu łacińskiego maja̧ tam numery od 97 — a, do 122 — z. Instrukcja readln(t) czyta z klawiatury tekst do zaszyfrowania i zapisuje go do zmiennej t. Elementy tablicy t[i], dla i od 1 do length(t), zawieraja̧ poszczególne znaki naszego tekstu. Funkcja ord przypisuje znakom ich numery w kodzie ASCII, a funkcja chr działa na odwrót, przypisuje znak numerowi. Pȩtla for, dla każdego znaku tekstu t po kolei, wylicza numer tego znaku po zakodowaniu: m:=((ord(t[i])-97)*a+b)mod(26)+97, a nastȩpnie drukuje zakodowany znak na ekranie: write(chr(m)). Klucz do kodowania przechowywany jest w postaci dwóch liczb, a i b, typu integer. Szyfry liniowe sa̧ bardzo starym wynalazkiem. W prostszej wersji z stosował je już Juliusz Cezar. Ich wada̧ jest to, że bardzo łatwo daja̧ siȩ łamać. Czasami wystarcza odgadna̧ć, jak zaszyfrowano dwie litery. Można to zrobić analizuja̧c czȩstości wystȩpowania liter w zaszyfrowanym tekście. Przykład 1.40 (kontynuacja przykładu 1.39) W naszym drugim zaszyfrowanym tekście litera wystȩpuje cztery razy, a litery i po trzy razy. Może to nam pomóc w odgadniȩciu, 1.13. Chińskie twierdzenie o resztach 21 że litera koduje literȩ , a litera koduje literȩ . Mamy wiȩc dwa równania: 63 63 9 Po odjȩciu tych równań stronami mamy: 63 9 Korzystaja̧c z algorytmu Euklidesa, możemy teraz wyliczyć element odwrotny do 5 w pierścieniu . Jest to 21, ponieważ: . tak wiȩc: ( ) (8 63 ( oraz 63 9 Teraz z drugiego równania możemy wyliczyć : - 63 9 1.13 Chińskie twierdzenie o resztach W starożytnych Chinach generałowie używali pewnego ciekawego sposobu liczenia swoich żołnierzy. Dla kilku niewielkich liczb parami wzglȩdnie pierwszych, na przykład dla: obliczano i zapamiȩtywano reszty z dzielenia liczby żołnierzy przez te liczby. W celu obliczenia reszt kazano żołnierzom ustawić siȩ trójkami, pia̧tkami i siódemkami. Jeżeli przy nastȩpnym apelu wszystkie trzy reszty były takie same, to znaczyło, że nie brakuje żadnego żołnierza. Zobaczmy, jak ten sposób działa. Weźmy najpierw dwie liczby: 9 W poniższej tabeli mamy zestawione reszty modulo 2 i 3 liczb od 0 do 5: a 0 1 2 3 4 5 63 0 1 0 1 0 1 3 0 1 2 0 1 2 22 Rozdział 1. Teoria liczb . Każda z liczb od 0 do , spełniaja̧cych warunek ma inny zestaw reszt oraz dla każdej pary reszt , , istnieje liczba , taka że: " " 63 63 9 Oczywiście 6 ma takie same reszty jak 0: 63 63 różnia̧ siȩ o wielokrotność liczby i ogólnie, jeżeli dwie liczby i dla jakiegoś całkowitego , to 63 63 - , czyli: 63 63 9 Z tego widać, że sposób chińskich generałów, z liczbami 2 i 3, liczy żołnierzy z dokładnościa̧ do piȩciu. Sytuacja jest inna, jeżeli i nie sa̧ wzglȩdnie pierwsze. Jeżeli, na przykład, i , to wśród liczb od 0 do ) istnieja̧ takie, które maja̧ takie same reszty, na przykład 1 i 13: 63 63 3 3 9 Ponadto nie istnieje taka liczba , dla której: 63 63 9 Rzeczywiście, z pierwszej równości wynika, że powinno być nieparzyste, a z drugiej, że parzyste. Jeżeli jednak i sa̧ wzglȩdnie pierwsze, to każda z liczb od 0 do ma inny zestaw reszt oraz dla każdej pary reszt , spełniaja̧cych warunek " , # " , istnieje liczba , taka że: 63 63 zachodzi bowiem poniższe twierdzenie. ´ Twierdzenie 1.41 (chinskie twierdzenie o resztach) Niech 999 bȩda̧ dodatnimi liczbami wzglȩdnie pierwszymi, to znaczy dla każdej pary , oraz niech mamy 999 " 1.13. Chińskie twierdzenie o resztach 23 bȩda̧ dowolnymi resztami. Wtedy istnieje liczba całkowita , taka że: (1.6) 9 99 63 63 3 9 Ponadto jeżeli liczby i sa̧ rozwia̧zaniami układu kongruencji (1.6), to ich różnica dzieli siȩ przez iloczyn wszystkich liczb , czyli przez: 9 Dowód. Najpierw udowodnimy druga̧ czȩść twierdzenia. Dla każdego 63 3 9 mamy: Po odjȩciu stronami tych dwóch równań mamy: 3 czyli wiȩc każda spośród liczb dzieli ! , a skoro liczby 99 9 sa̧ wzglȩdnie pierwsze, dzieli . Rzeczywiście, przypuśćmy bowiem, że ma wiȩc także ich iloczyn rozkład 9 Weźmy teraz dowolne . Ponieważ rozkłady liczb 99 9 sa̧ rozła̧czne, wiȩc wyst˛epuje w rozkładzie jakiegoś , czyli dzieli oraz , a wiȩc w rozkładzie liczby , liczba wystȩpuje z wykładnikiem . Dlatego dzieli . Zobaczymy teraz, że układ (1.6) ma rozwia̧zanie. Niech ' , czyli: Ponieważ takie że: i maja̧ rozła̧czne rozkłady, wiȩc Zauważmy, że jeżeli , to co daje: , oraz: 999 9 oraz istnieje 9 63 63 9 Weźmy teraz: 3 dla każdego , a wiȩc jest rozwia̧zaniem układu równań (1.6). , 24 Rozdział 1. Teoria liczb ! 63 Przykład 1.42 Każda z liczb od 0 do ma inny zestaw reszt wzglȩdem liczb 3, 5 i 7. Tak wiȩc stosuja̧c sposób chińskich generałów z liczbami 3, 5, 7 możemy liczyć żołnierzy z dokładnościa̧ do 104. Ale sposób chińskich generałów pozwala także stwierdzić, o ile zmieniła siȩ liczba żołnierzy. Przypuśćmy bowiem, że na porannym apelu było żołnierzy i uzyskano reszty: 63 a na apelu wieczornym było żołnierzy i otrzymano reszty: wtedy różnica 63 63 63 63 spełnia nastȩpuja̧cy układ kongruencji: 63 63 63 9 Jak widać, chińskie twierdzenie o resztach pozwala wnioskować o dużych liczbach za pomoca̧ operacji na małych liczbach. Zobaczmy teraz inne zastosowanie tego twierdzenia. Przykład 1.43 Zastanówmy siȩ, ile wynosi reszta z dzielenia liczby przez 15. Łatwo można policzyć, że: ponieważ 4 jest jedyna̧ liczba̧ z przedziału 63 oraz 63 . 63 63 oraz 63 , a wiȩc: 9 99 , która posiada reszty 1.14 Pierwiastki kwadratowe Definicja 1.44 Liczbȩ nazywamy pierwiastkiem kwadratowym liczby w pierścieniu , jeżeli Przykład 1.45 W 3 9 pierwiastkami 4 sa̧ 2 i 3, a liczba 2 nie posiada pierwiastka. Zauważmy, że jeżeli 63 to 63 czyli 63 , też jest pierwiastkiem . Lemat 1.46 Jeżeli jest liczba̧ pierwsza̧ i , to i sa̧ jedynymi pierwiastkami z . 1.15. Funkcja Eulera Dowód Jeżeli jest pierwsze to drugim 25 3 , to dzieli lub 63 . dzieli , a ponieważ . W pierwszym przypadku 63 , w Przykład 1.47 Tak nie musi być, jeżeli nie jest liczba̧ pierwsza̧. Na przykład w mamy cztery pierwiastki z , sa̧ to , , i . Ogólnie rozważmy liczbȩ która jest iloczynem dwóch różnych liczb pierwszych . Weźmy teraz dowolna̧ liczbȩ , dla której .# oraz Wtedy 63 3 lub 63 lub 63 63 63 oraz czyli z chińskiego twierdzenia o resztach wynika, że Ponieważ , to cztery różne pierwiastki z 1, Zauważmy, że 63 9 3 oraz 63 . Sa̧ to liczby dla których 63 63 63 63 63 63 63 3 oraz 63# i mamy wtedy 9 63 . 1.15 Funkcja Eulera Definicja 1.48 Funkcja Eulera, jest to funkcja, która liczbie przypisuje elementów odwracalnych w . Z definicji przyjmujemy . Przykład 1.49 Podobnie . , bo w odwracalne sa˛ , , , , i sa̧ wzglȩdnie pierwsze, to liczbȩ . a) Jeżeli jest liczba̧ pierwsza̧, to dla dowolnego . W szczególności . Lemat 1.50 b) Jeżeli , 26 Rozdział 1. Teoria liczb Dowód: a) Zauważmy że, wśród liczb dzielne przez , jest ich ' 99 9 wzglȩdnie pierwsze z , czyli # b) Najpierw zauważmy, ze dla dowolnej liczby , " oraz a to zachodzi wtedy i tylko wtedy gdy reszty spełniaja̧ warunki 9 wtedy i tylko wtedy gdy nie sa̧ te, które sa̧ po- 3 oraz oraz 3 (1.7) Par reszt spełniaja̧cych warunek (1.7) jest , a z chińskiego twierdzenia odpowiada dokładnie jedna para reszt, i na o resztach każdej liczbie , " odwrót każdej parze reszt odpowiada jedna liczba. Tak wiȩc liczb wzglȩdnie pierwszych z jest 9 1.16 Szybkie potȩgowanie dla Teraz zastanowimy siȩ jak można potȩgować, czyli jak obliczyć 63 oraz . Pierwszy nasuwaja̧cy siȩ algorytm potȩgowania polega na krotnym mnożeniu przez : y:=1; for i:=0 to k do y:=y*a mod n W kryptografii oblicza siȩ potȩgi z wykładnikami posiadaja̧cymi po kilkaset bitów. Do takich zastosowań powyższy algorytm jest nieprzydatny (wymaga on mnoże ń). Pokażemy teraz jak można potȩgować dużo szybciej. Zauważmy, że i ogólnie 9 Dlatego, aby obliczyć potȩgȩ o wykładniku, który jest potȩga̧ dwójki wykonać y:=a; for i:=1 to j do y:=y*y mod n należy 1.16. Szybkie potȩgowanie w , 3 , 3 3 , 63 . Przykład 1.51 Aby obliczyć - ! obliczmy 63 Jeżeli wykładnik jest suma̧ potȩg dwójki Przykład 1.52 Aby obliczyć ) 63 . 27 , to 9 trzeba wymnożyć Zauważmy, że każda liczba naturalna jest suma̧ potȩg dwójki gdzie to cyfry rozwiniȩcia dwójkowego . Powyższe uwagi sugeruja̧ nastȩpuja̧cy algorytm obliczania potȩgi . Algorytm szybkiego pot˛egowania Dane wejściowe: podstawa a oraz wykładnik k=(dj,...,d0) w postaci binarnej. x:=a; y:=1 if d0=1 then y:=y*a mod n for i:=1 to j do x:=x*x mod n; if di=1 then y:=y*x mod n Zmienna x zawiera kolejne potȩgi o wykładnikach bȩda̧cych potȩgami 2. Na pocza̧tku . Po tej iteracji pȩtli for . Jeżeli to mnożymy przez . Na końcu 8 9 Przykład 1.53 Prześledźmy działanie algorytmu podczas obliczania 63 . ) ) w zapisie dwójkowym ma postać . Poniższa tabela zawiera wartości zmiennej x i y przed wejściem do p˛etli for i=0) oraz po każdej iteracji. i 0 1 2 3 4 x 2 4 3 9 3 y 2 8 8 8 11 Zauważmy, że wyniki pośrednie, i ostateczny, należa˛ do i algorytm nie potrzebuje zbyt dużej pamiȩci. Algorytmu tego nie można stosować do obliczania w liczbach całkowitych, jeżeli jest duże, to wynik ostateczny oraz pośrednie bȩda˛ zbyt duże, żeby mógł siȩ zmieścić w pamiȩci komputera. 28 Rozdział 1. Teoria liczb 1.17 Małe twierdzenie Fermata Twierdzenie 1.54 (Fermata) Niech 63 9 Dowód Niech to bȩda̧ wszystkie elementy 99 9 , wtedy . Jeżeli pomnożymy je przez 9 99 to zgodnie z lematem 1.36 otrzymamy te same elementy tylko w innej kolejności. Wymnóżmy teraz elemnty obu cia̧gów 63 9 otrzymamy tezȩ twierdzenia. Po pomnożeniu przez odwrotność Wniosek 1.55 Jeżeli mamy jest liczba̧ pierwsza̧, to dla każdego wzglȩdnie pierwszego z 3 9 1.18 Szyfry RSA W szyfrach one-pad opisanych w rozdziale o funkcjach boolowskich klucz do szyfrowania jest ten sam co klucz do deszfrowania. W szyfrach liniowych wprawdzie klucze do szyfrowania i deszyfrowania sa̧ różne, ale jaden łatwo można wyliczyć z drugiego. Takie szyfry nazywamy symetrycznymi. Teraz zapoznamy siȩ ze sposobem szyfrowania, w których klucz do szyfrowania może być jawny, nawet ogłaszany publicznie, a klucz do deszyfrowania jest tajny i jest praktycznie niemożliwe wyliczenie klucza tajnego z klucza jawnego. Sposób ten zaproponowali Rivest, Shamir i Adleman. Przypuśćmy, że Alicja chce utworzyć swój klucz. Bierze w tym celu dwie duże liczby pierwsze i , każda może zawierać po kilkaset bitów. Tworzy ich iloczyn Alicja losuje liczbȩ . Funkcja Eulera . Nastȩpnie , która jest wzglȩdnie pierwsza z . Skoro to istnieje liczba , taka, że 3 . Teraz para jest jawnym kluczem Alicji i może być publicznie ogłoszona. Para jest kluczem prywatnym Alicji, nie powinna go ona nikomu zdradzać. Alicja nie powinna też zdradzać rozkładu liczby na czynniki. Jeżeli ktoś zna i , to może wyliczyć oraz . Przypuśćmy, że Bob chce przesłać Alicji jaka̧ś zaszyfrowana̧ wiadomość . Traktujemy tȩ wiadomość jako liczbȩ " . (Jeżeli wiadomość jest cia̧giem znaków, to kodujemy 1.19. Testy pierwszości 29 każdy znak jako 8 bitów i cały cia̧g może być traktowany jako liczba w postaci dwójkowej.) Bob szyfruje wiadomość przy pomocy funkcji szyfruja̧cej 63 i przesyła ja̧ Alicji. Alicja odszyfrowuje za pomoca̧ funkcji deszyfruja̧cej Pokażemy teraz, że jeżeli Mamy Ponieważ ! 63 9 , to 9 63 , wiȩc istnieje 63 9 takie, że 4 , czyli 63 ale jeżeli , to 63 . Tak wiȩc . Do powyższego potrzebne było założenie, że . Ale gdy ktoś trafi na wiadomość , która nie jest wzglȩdnie pierwsza z , to Alicja ma pecha, ponieważ wtedy można dokonać rozkładu liczby i złamać jej szyfr. . Łatwo też można pokazać, że Niesymetryczne szyfry daja̧ nowe możliwości. Można ich na przykład używać do podpisu. Aby podpisać jaka̧ś wiadomość , Alicja szyfruje ja̧ swoim szyfrem prywat i jest to podpis wiadomości . Alicja wysyła Bobowi parȩ . nym Żeby sprawdzić, że wszystko siȩ zgadza Bob szyfruje podpis publicznym kluczem Alicji i sprawdza czy 9 1.19 Testy pierwszości W tym rozdziale zajmiemy siȩ zagadnieniem jak sprawdzić, czy liczba jest pierwsza. Możemy sobie wyobrazić, że ma kilkaset bitów. Jak widać z poprzedniego rozdziału duże liczby pierwsze moga̧ być przydatne. 1.19.1 Test naiwny Najprostszy sposób to, dzielić przez kolejne liczby (pierwsze) aż do test jest zupełnie niepraktyczny, jeżeli ma kilkaset bitów. . Jednak ten 30 Rozdział 1. Teoria liczb 1.19.2 Test Fermata Drugi test jest algorytmem probabilistycznym i opiera siȩ na twierdzeniu Fermata 1.54. Losujemy liczbȩ " i najpierw sprawdzamy, czy . Jeżeli i nie sa̧ wzglȩdnie pierwsze, i , to jest dzielnikiem i nie jest pierwsza. , to obliczamy 63 . Jeżeli 63 , to Jeżeli mamy pewność, że nie jest liczba̧ pierwsza̧. oraz Definicja 1.56 Taka̧ liczbȩ , dla której bȩdziemy nazywać świadkiem Fermata dla , ponieważ zaświadcza ona, że 63 jest złożona. 63 , to orzekamy, że liczba jest pierwsza. W tym przypadku Jeżeli możemy siȩ pomylić. Liczba może być złożona a mimo to wylosowaliśmy pechowo i 3 . Ale zachodzi nastȩpuja̧cy lemat. 63 , to przynajmniej poło- Lemat 1.57 Jeżeli istnieje takie , że wa elementów jest świadkiem Fermata dla . 9 99 Dowód. Przypuśćmy, że sa˛ to wszystkie elementy , dla których przez otrzymamy elementów 6 3 . Wtedy po pomnożeniu 9 99 6 różnych miȩdzy soba̧ (lemat 1.36), z których każdy jest świadkiem Fermata. Rzeczywiście 63 9 A wiȩc świadków złożoności jest co najmniej połowa. Jeżeli jest pierwsze, to z Twierdzenia Fermata, algorytm zawsze orzeknie dobrze. Z lematu 1.57 wynika, że jeżeli jest złożona i istnieje świadek Fermata dla , to takich świadków jest co najmniej połowa, i nasz algorytm pomyli siȩ z prawdopodobie ństwem " ' . Prawdopodobieństo, to można zmniejszyć poprzez powtórzenie algorytmu razy, z różnymi wylosowanymi . Istnieja̧ jednak liczby złożone , które nie maja̧ świadków złożoności. Na przykład ! ) . Kłopot dzieli siȩ przez bierze siȩ sta̧d, że ,a , oraz przez .Dlatego dla dowolnego , jeżeli , to jest wzglȩdnie pierwsze z , i oraz mamy 63 63 63 i z chińskiego twierdzenia o resztach wynika, że 63 Takie liczby nazywaja̧ sie liczbami Carmichaela. Pierwsze trzy z nich to 561, 1105 i 1729. Wystȩpuja̧ one bardzo rzadko, jest ich tylko 255 wśród liczb mniejszych od 100 000 000. 1.19. Testy pierwszości 31 1.19.3 Test Millera-Rabina Zakładamy, że jest nieparzyste (2 jest jedyna̧ parzysta̧ liczba̧ pierwsza̧). Najpierw sprawdzamy, czy jest potȩga̧ jakiejś liczby naturalnej. Dla od 2 do / sprawdzamy czy , dla jakiegoś . W rozdziale o arytmetyce opisano jak za pomoca̧ binary search stwierdzić, czy liczba jest potȩga̧ innej liczby. Jeżeli jest potȩga̧, to jest złożona. Ponieważ jest nieparzyste, to możemy przedstawić w postaci 9 dla jakiegoś nieparzystego. (jeżeli 8 , to Losujemy " . Sprawdzamy, czy jest złożona). 63 . Jeżeli 63 , to koniec, stwierdzamy, że Nastȩpnie obliczamy 63 , to obliczamy po kolei jest pierwsza. Jeżeli 3 63 99 9 63 9 Zauważmy, że w tym cia̧gu każda liczba jest kwadratem poprzedniej. Jeżeli wśród tych liczb nie ma jedynki, to z twierdzenia Fermata wynika, że jest złożona, bo wtedy 3 9 Jeżeli w tym cia̧gu jest jedynka, na przykład 3 . Jeżeli , to znależliśmy nietrywial to patrzymy na poprzedni element ny pierwiastek z 1. Z twierdzenia 1.46 wynika, że jest to możliwe tylko wtedy gdy nie , to orzekamy, że jest pierwsze. jest pierwsze. Jeżeli Łatwo wiȩc widać, że jeżeli jest pierwsze, to test zawsze odpowie prawidłowo, niezależnie od losowania. Wiadomo też, że jeżeli jest złożona i nie jest potȩga̧ licz by pierwszej, to z prawdopodobieństwem wiȩkszym niż ' wykryjemy to (dowód tego faktu wybiega poza zakres tej ksia̧żki i pomijamy go). W praktyce stosujemy wszystkie trzy testy na raz. Maja̧c nieparzysta̧ liczbȩ , najpierw sprawdzamy, czy dzieli siȩ ona przez kilka kolejnych liczb pierwszych 9 99 9 Dobór zależy od tego jak duże liczby sprawdzamy. W ten sposób eliminujemy duża̧ czȩść liczb. Zauważmy, że obliczaja̧c iloczyn tych liczb i sprawdzaja̧c, czy siȩ przez która̧ś z tych liczb. & możemy za jednym razem sprawdzić, czy dzieli 32 Rozdział 1. Teoria liczb Po przejściu pierwszego testu stosujemy test drugi, a gdy liczba go przejdzie stosujemy test trzeci. Ponieważ liczby Carmichaela sa̧ dość rzadkie, wiȩc drugi test wyeliminuje wiȩkszość liczb złożonych. Jeżeli chcemy wyklosować liczbȩ pierwsza̧ to losujemy nieparzysta̧ liczbȩ, a mastȩpnie sprawdzamy, czy jest ona pierwsza. Jeżeli nie, to sprawdzamy nastȩpne liczby 91919 . 1.20 Zadania 1. Dla każdej z liczb: że 63 . , , 2. W pierścieniu wykonaj działania 3. W pierścieniu 8 . ) oraz oraz ˛ równania: a) rozwiaż 5. W pierścieniu rozwiaż ˛ równania: a) - ˛ równania: a) 4. W pierścieniu rozwiaż . 6. Dla liczb i spełniaja̧ce równanie 6 ) oblicz ( 10. 12. Ile dzielników ma liczba 8 , c) oraz oraz liczby całkowite i ) i . . . Podaj elementy odwrotne do 5 i . istnieja̧ liczby spełniaja̧ce układ kongruencji: 16. Niech reszt , d) . 14. Znajdź elementy odwrotne do wszystkich elementów dwracalnych w ? 13. Podaj tabliczkȩ dodawania i mnożenia w ciele 6w . 15. Dla jakich par reszt taka,˛ rozwiaż ˛ równania: a) 11. Podaj rozkład na czynniki pierwsze liczb . 3 . rozwiaż ˛ równania: a) , b) . W pierścieniu Znajdź całkowite rozwia̧zanie spełniaja̧ce równanie: 8. W pierścieniu 9. , b) . . 7. Oblicz , b) , b) znajdź liczb˛e 63 63 9 bȩda̧ dowolnymi dodatnimi liczbami całkowitymi. Dla jakich par istnieja̧ liczby spełniaja̧ce układ kongruencji: 63 63 9 1.21. Problemy 33 1.21 Problemy 1.21.1 Najwi˛ekszy wspólny dzielnik jest najmniejsza̧ dodatnia̧ liczba̧ , dla której istnieje i Udowodnij, że ( całkowite, takie że . Udowodnij, że każda liczba postaci ( , dla i całkowitych, jest wielokrotnościa̧ , i na odwrót, każda wielokrotność jest postaci ( , dla jakiś i całkowitych. Udowodnij, że poniższy algorytm poprawnie oblicza najwiȩkszy wspólny dzielnik , jeżeli $ : var a,b,p,q,r,:integer; begin readln(a,b); p:=a;q:=b; while q >0 do begin r:=p mod q; p:=q; q:=r end; writeln(’NWD(’,a,’,’,b,’)=’,p) end. Zmodyfikuj powyższy program, tak aby oprócz czynniki i , takie że 6 . , obliczał także współ 1.21.2 Najmniejsza wspólna wielokrotno´ sc´ Niech oznacza najmniejsza̧ wspólna̧ wielokrotność liczb i . Udowodnij, że inna̧ wspólna̧ wielokrotność liczb i . dzieli każda̧ Pokaż, że 1.21.3 Liczby wzgl˛ednie pierwsze Udowodnij, że jeżeli jest wzglȩdnie pierwsze z i , to jest wzglȩdnie pierwsze z iloczynem tych liczb 6 . Jako wniosek udowodnij, że jeżeli jest wzglȩdnie pierwsze z każda̧ z liczb 919 9 , to jest wzglȩdnie pierwsze z iloczynem tych liczb 9 34 Rozdział 1. Teoria liczb 1.21.4 Układ kongruencji Istnieje inny sposób rozwia̧zywania układu kongruencji. Pokażemy go na przykładzie układu Najpierw szukamy dwóch liczb i (1.8) spełniaja̧cych warunki 63 63 63 63 63 63 Udowodnij, że rozwia̧zaniem układu (1.8) jest Jak policzyć że oraz 63 9 ? Ponieważ 3 i 5 sa̧ wzglȩdnie pierwsze, wiȩc istnieja̧ i takie, Pokaż, że jeżeli podstawimy dobrze. 63 ´ 1.21.5 Chinskie twierdzenie o resztach Z chińskiego twierdzenia o resztach wynika, że jeżeli 63 oraz 63 , to bȩdzie , to funkcja 63 stanowi wzajemnie jednoznaczne odwzorowanie pomiȩdzy a iloczynem kartezjańskim . możemy określić działania dodawania i mnożeNa iloczynie kartezjańskim nia w nastȩpuja̧cy sposób: Łatwo można sprawdzić, że zbiór niem. Ponadto funkcja spełnia warunki 9 z tak określonymi działaniami, jest pierście oraz .