m mod

Transkrypt

m mod
Jednoznaczność dzielenia
TWIERDZENIE:
M
Niech m i n całkowite, n 6= 0.
Wtedy istnieje dokładnie jedna para liczb całkowitych k i ℓ taka że
m = n · k + ℓ oraz 0 ¬ ℓ < |n|
Terminologia:
m — dzielna
n — dzielnik
k — iloraz
ℓ — reszta
Sytuacja dla m ­ 0 i n > 0:
k
n
}|
z
)
n
}|
{z
R
n
}|
{z
ℓ
}|
{z
{
-
m
0
Na przykład:
13 = 5 · 2 + 3 oraz 0 ¬ 3 < 5
Wykład 2, 14 X 2008, str. 2
Jednoznaczność dzielenia
TWIERDZENIE:
M
Niech m i n całkowite, n 6= 0.
Wtedy istnieje dokładnie jedna para liczb całkowitych k i ℓ taka że
m = n · k + ℓ oraz 0 ¬ ℓ < |n|
Terminologia:
m — dzielna
n — dzielnik
k — iloraz
ℓ — reszta
Sytuacja dla m ¬ 0 i n > 0:
k
ℓ
z }| {
z
n
}|
)
{z
n
}|
R
{z
n
}|
q
{z
n
}|
m
Na przykład:
−13 = 5 · (−3) + 2 oraz 0 ¬ 2 < 5
{ 0
Ostrzeżenie komputerowe
Na liczbach ujemnych dzielenie komputerowe czasem odchodzi od
tego wzorca.
Testowy program w C:
#include<stdio.h>
void iloraz_reszta (int m, int n) {
printf("%3i = (%2i)*(%2i) + (%2i)\n", m, n, m/n, m%n);
}
main() {
int m, n;
m = 13; n = 5; iloraz_reszta(m,n);
m = -13; n = 5; iloraz_reszta(m,n);
m = 13; n = -5; iloraz_reszta(m,n);
m = -13; n = -5; iloraz_reszta(m,n);
}
Wykład 2, 14 X 2008, str. 4
Ostrzeżenie komputerowe
Na liczbach ujemnych dzielenie komputerowe czasem odchodzi od
tego wzorca.
Mój komputer:
13
-13
13
-13
=
=
=
=
( 5)*( 2)
( 5)*(-2)
(-5)*(-2)
(-5)*( 2)
Arytmetyka z twierdzenia:
+
+
+
+
( 3)
(-3)
( 3)
(-3)
−13
−13
−13
−13
=
=
=
=
(−5) ∗ (−2)
(−5) ∗ (−3)
(−5) ∗ (−2)
(−5) ∗ (−3)
+
+
+
+
(−3)
(−2)
(−3)
(−2)
W języku C na moim komputerze znak reszty jest taki sam jak znak
dzielnej a iloraz jest do tego dostosowany.
Pozycyjne systemy liczbowe
TWIERDZENIE:
M
Niech n i m naturalne, m ­ 2. Wtedy istnieje dokładnie jeden
rozkład liczby n na sumę potęg m ze współczynnikami
n = a0 + a1 · m + a2 · m2 + . . . + ak · mk
takimi, że 0 ¬ ai < m dla i ∈ {0, 1, . . . , k} .
Dowód: Indukcja ze względu na n.
Przyp. n = 0: oczywisty.
Przyp. n > 0: Z twierdzenia o jednoznaczności dzielenia istnieje dokładnie
jedna para liczb (c1 , a0 ), takich że n = a0 + c1 · m i 0 ¬ a0 < m . Przy
tym c1 < n, więc stosuje się założenie indukcyjne:
c1 = a1 + a2 · m + . . . + ak · mk−1
i 0 ¬ ai < m dla wszystkich i. Wobec tego:
n = a0 + c1 · m
= a0 + (a1 + a2 · m + . . . + ak · mk−1 ) · m
= a0 + a1 · m + a2 · m2 + . . . + ak · mk
Wykład 2, 14 X 2008, str. 6
Pozycyjne systemy liczbowe
TWIERDZENIE:
M
Niech n i m naturalne, m ­ 2. Wtedy istnieje dokładnie jeden
rozkład liczby n na sumę potęg m ze współczynnikami
n = a0 + a1 · m + a2 · m2 + . . . + ak · mk
takimi, że 0 ¬ ai < m dla i ∈ {0, 1, . . . , k} .
Zapis liczby w układzie pozycyjnym:
m — podstawa układu;
a0 , a1 , a2 , . . . ak — cyfry
Za co kochamy układy pozycyjne?
Przykład układu niepozycyjnego: liczby rzymskie.
Zadanie: wykonać proste mnożenie
XXXIV
× XVI
????
Pozycyjne systemy liczbowe
Dla ludzi – system dziesiętny:
156 = 1 · 102 + 5 · 10 + 6
Dla komputerów – system binarny (dwójkowy):
156 = 1 · 27 + 0 · 26 + 0 · 25 + 1 · 24 + 1 · 23 + 1 · 22 + 0 · 2 + 0
Albo system heksadecymalny (szesnastkowy):
156 = 9 · 16 + 12 = 9 · 16 + C
Dodatkowe cyfry dla układu szesnastkowego:
10 = A
11 = B
12 = C
13 = D
14 = E
15 = F
Wykład 2, 14 X 2008, str. 8
Pozycyjne systemy liczbowe
System szesnastkowy stosuje się m. in. do opisywania kolorów.
Trzy kolejne cyfry szesnastkowe oznaczają ilości składowych kolorów podstawowych
czerwonego (red)
zielonego (green)
niebieskiego (blue)
w danej barwie. Barw jest więc 163 = 4096.
000 080 0F0
008 088 0F8
00F 08F 0FF
800 880 8F0
808 888 8F8
80F 88F 8FF
F00 F80
F08 F88
F0F F8F
FF0
FF8
FFF
Zapis jednej cyfry szesnastkowej zajmuje 4 bity; więc zapis jednego koloru zajmuje 3 · 4 = 12 bitów. Stosuje się również większą głębię barw, po
dwie cyfry szesnastkowe na kolor podstawowy — to wymaga poświęcenia
24 bitów na barwę i daje ok. 224 ≈ 17 mln różnych barw.
Arytmetyka reszt (arytmetyka modulo n)
Niech n ­ 2.
DEFINICJA: (relacja modulo n)
M
Dwie liczby całkowite p i q są równe modulo n jeśli równe są reszty z ich
dzielenia przez n:
def
p ≡n q ⇐⇒
p mod n = q mod n
Fakt:
M
p ≡n q ⇐⇒ p − q jest podzielne przez n.
Fakt:
M
Relacja ≡n jest relacją równoważności na Z; t.zn. jest
• zwrotna:
p ≡n p
• symetryczna: jeśli p ≡n q to q ≡n p
• przechodnia: jeśli p ≡n q i q ≡n r to p ≡n r
Relacja równoważności pozwala podzielić zbiór Z na klasy abstrakcji: do
każdej klasy wchodzą liczby o tej samej reszcie z dzielenia przez n.
Wykład 2, 14 X 2008, str. 10
Arytmetyka reszt (arytmetyka modulo n)
.........................
............. 3 ......................
........
......
.
.
.
.
.
.....
..
....
.4
2......
.
.
.
.
...
.
...
...
...
..
...
...
...
...
....
..
.5.
1
..
..
...
...
...
.
...
..
...
.
...
...
....
...
.
.....
.
.
6.........
....0
.......
..........
.
.
.
.
.
.
.
.
............................................
7
8
Sklejamy liczby całkowite:
n − 1 = −1
n=0
n+1=1
···
9
Inaczej: każdą liczbę m zastępujemy
przez m mod n —
resztę z dzielenia m przez n
Arytmetyka liczb całkowitych na komputerze jest arytmetyką reszt
(patrz niżej).
Arytmetyka reszt (arytmetyka modulo n)
Sklejenie „modulo” jest rozdzielne względem dodawania, odejmowania i
mnożenia liczb całkowitych:
• (m + k) mod n = (m mod n + k mod n) mod n
(13 + 4) mod 8 = (13 mod 8 + 4 mod 8) mod 8
= (5 + 4) mod 8 = 9 mod 8 = 1
• (m − k) mod n = (m mod n − k mod n) mod n
(13 − 26) mod 8 = (13 mod 8 − 26 mod 8) mod 8
= (5 − 2) mod 8 = 3 mod 8 = 3
• (m · k) mod n = (m mod n · k mod n) mod n
(13 · 26) mod 8 = (13 mod 8 · 26 mod 8) mod 8
= (5 · 2) mod 8 = 10 mod 8 = 2
Wykład 2, 14 X 2008, str. 12
....................
............... 3 ........................
........
......
.
.
.
.
.
.....
...
....
−4
2.......
.
.
.
.
.
...
...
...
...
...
...
...
...
...
..
.
.
...
−3
1
...
.
...
.
...
.
...
..
.
...
...
...
...
....
.
.
.....
....
.....
−2
.....0
.
........
.
.
.
.
.
...
............
...........................................
−1
dodatnie
ujemne
Arytmetyka komputerowa
arytmetyka
3-bitowa,
czyli
modulo 23 = 8
Arytmetyka liczb całkowitych w języku C w moim komputerze jest czterobajtowa; to znaczy modulo (28 )4 = 28·4 = 232 . Dlatego wg niego
65536 · 65535 = −65536
bo
65536 = 216
(216 · (216 − 1)) mod 232 = (232 − 216 ) mod 232 = −216 mod 232
Ustalanie podzielności przy pomocy arytmetyki reszt
TWIERDZENIE:
M
Reszta z dzielenia liczby m ∈ N przez 9 jest równa reszcie z dzielenia
sumy cyfr liczby m przez 9.
Dowód:
Niech m0 , m1 , . . . , mp będą cyframi dziesiętnymi liczby m; t.zn.:
m = m0 + m1 · 10 + m2 · 102 + . . . + mp · 10p
Ponieważ 10 mod 9 = 1, więc
m mod 9 = (m0 + m1 · 10 + m2 · 102 + . . . + mp · 10p ) mod 9
= (m0 + m1 · 1 + m2 · 12 + . . . + mp · 1p ) mod 9
= (m0 + m1 + m2 + . . . + mp ) mod 9
Wniosek:
M
Liczba m ∈ N dzieli się przez 9 bez reszty wtedy i tylko wtedy, gdy jej
suma cyfr dzieli się przez 9 bez reszty:
9 | m ≡ 9 | (m0 + m1 + m2 + . . . + mp )
Wykład 2, 14 X 2008, str. 14
Ustalanie podzielności przy pomocy arytmetyki reszt
Oznaczenie: n | m — n dzieli m (lub: m dzieli się przez n bez reszty)
Wniosek:
M 2 | n ⇐⇒ liczba złożona z ostatniej cyfry n dzieli się przez 2
4 | n ⇐⇒ liczba złożona z ostatnich dwóch cyfr n
dzieli się przez 4
5 | n ⇐⇒ ostatnią cyfrą liczby n jest 0 lub 5
3 | n ⇐⇒ suma cyfr liczby n dzieli się przez 3
9 | n ⇐⇒ suma cyfr liczby n dzieli się przez 9
11 | n ⇐⇒ naprzemienna suma cyfr liczby n dzieli się przez 11
Przykład:
M
Czy 11 | 1234567890?
11 | 1234567890 ⇐⇒ 11 | (−1 + 2 − 3 + 4 − 5 + 6 − 7 + 8 − 9 + 0)
⇐⇒ 11 | (−5)
⇐⇒ false
Liczby pierwsze, względnie pierwsze, NWD
DEFINICJA:
M
Liczba naturalna p ­ 2 jest pierwsza, jeśli dla dowolnej n ­ 1
z n | p wynika, że n = 1 lub n = p .
Przykład:
M
Kolejne liczby pierwsze:
2 3 5 7 11 13 17 19 23 29 31 37 41
...
Wykład 2, 14 X 2008, str. 16
Liczby pierwsze, względnie pierwsze, NWD
DEFINICJA:
M
Liczba naturalna p ­ 1 jest największym wspólnym dzielnikiem liczb całkowitych m i n, jeśli
• p | m i p | n,
• z q | m i q | n wynika, że q | p .
Oznaczenie: p = NWD(m, n)
Przykład:
M
NWD(12, 18) = 6
NWD(75, 90) = 15
NWD(21, 110) = 1
Liczby pierwsze, względnie pierwsze, NWD
DEFINICJA:
M
Liczby naturalne m i n są względnie pierwsze, jeśli NWD(m, n) = 1 .
Przykład:
MNWD(12, 18) = 6
— więc 12 i 18 nie są względnie pierwsze
NWD(75, 90) = 15 — więc 75 i 90 nie są względnie pierwsze
NWD(21, 110) = 1 — więc 21 i 110 są względnie pierwsze
TWIERDZENIE:
M
Jeśli m i n są względnie pierwsze i m | (n · k) to m | k .
Przykład:
M
Ponieważ NWD(9, 5) = 1 i 9 ∤ 11 to 9 ∤ 55 .
Wykład 2, 14 X 2008, str. 18
Liczby pierwsze, względnie pierwsze, NWD
TWIERDZENIE: (jednoznaczność rozkładu na czynniki pierwsze)
M
Dowolną liczbę naturalną m > 1 można jednoznacznie przedstawić w
postaci iloczynu
m = p1 · p2 · . . . · pn
gdzie p1 ¬ p2 ¬ . . . ¬ pn i liczby p1 ,p2 ,. . . ,pn są pierwsze.
Przykład:
M
180 = 2 · 2 · 3 · 3 · 5
1530 = 2 · 3 · 3 · 5 · 17
TWIERDZENIE:
M
NWD(m, n) jest iloczynem liczb pierwszych występujących zarówno w
rozkładzie na czynniki pierwsze liczby m jak liczby n.
Przykład:
M NWD(180, 1530) = 2 · 3 · 3 · 5 = 90
Wyznaczanie NWD — algorytm Euklidesa
1. NWD(n, 0) = n
2. jeśli n > m to NWD(n, m) = NWD(m, n mod m)
3. jeśli n < m to NWD(n, m) = NWD(m, n)
Przykład:
M
NWD(504, 2940)
3
= NWD(2940, 504)
2
= NWD(504, 2940 mod 504) = NWD(504, 420)
2
= NWD(420, 504 mod 420) = NWD(420, 84)
2
= NWD(84, 420 mod 84) = NWD(84, 0)
1
= 84
Wykład 2, 14 X 2008, str. 20
Chińskie twierdzenie o resztach
TWIERDZENIE: (o wyznaczaniu liczby jeśli znane są reszty — Sun Tzu,
III w.n.e.)
M
Niech p1 , p2 , . . . , pn będą liczbami parami względnie pierwszymi (czyli
każda z każdą). Dla każdej n-tki liczb
0 ¬ q1 < p 1
0 ¬ q2 < p 2
...
0 ¬ qn < p n
istnieje liczba całkowita q taka, że
q mod p1 = q1
q mod p2 = q2
...
q mod pn = qn
Wszystkie takie liczby są równoważne modulo q1 · q2 · . . . · qn .
Chińskie twierdzenie o resztach
Przykład: (Qin Jiushao, Dziewięć działów sztuki liczbowej, 1247)
M
Złodzieje ukradli ryż z trzech beczek. Początkowo było tyle samo ryżu w
każdej beczce, nie więcej niż 3000 ho, ale nie wiadomo po ile.
• w beczce I pozostało 1 ho, a złodziej czerpał z niej czerpakiem mieszczącym 11 ho,
• w beczce II pozostało 11 ho, a złodziej czerpał z niej chodakiem mieszczącym 17 ho,
• w beczce III pozostało 1 ho, a złodziej czerpał z niej miseczką mieszczącą 13 ho.
Ile ryżu było początkowo w każdej beczce?
Było q ho, gdzie
q mod 11 = 1 więc q ∈ {1, 12, 23, . . . , 1 + 11 · i . . .}
q mod 17 = 11 więc q ∈ {11, 28, 45, . . . , 11 + 17 · i . . .}
q mod 13 = 1 więc q ∈ {1, 14, 27, . . . , 1 + 13 · i . . .}
Pierwszą wspólną liczbą w tych ciągach jest 2289 — to jest rozwiązanie.