Beruflich Dokumente
Kultur Dokumente
rezolvate matematic
2 / 55
Scop
3 / 55
Probleme de numărare: Plan
4 / 55
Problemă
Q1
5 / 55
Truc matematic: Combinări de n luate câte k
Formula recursivă
k−1
Cn0 = 1, Cnn = 1, Cnk = Cn−1
k
+ Cn−1
Rezolvarea recursiei
n!
Cnk =
(n − k)!k!
6 / 55
Cnk — formula directă
n!
Cnk = Cnn−k =
(n − k)!k!
7 / 55
Cnk — formula directă
n! (n − k + 1) · (n − k + 2) · · · · · (n − k + k)
Cnk = Cnn−k = =
(n − k)!k! 1 · 2 · ··· · k
7 / 55
Cnk — formula directă
n! (n − k + 1) · (n − k + 2) · · · · · (n − k + k)
Cnk = Cnn−k = =
(n − k)!k! 1 · 2 · ··· · k
7 / 55
Cnk — Definiţia recursivă
k−1
Cn0 = 1, Cnn = 1, Cnk = Cn−1
k
+ Cn−1
8 / 55
Cnk — Definiţia recursivă
k−1
Cn0 = 1, Cnn = 1, Cnk = Cn−1
k
+ Cn−1
8 / 55
Cnk — Definiţia recursivă
k−1
Cn0 = 1, Cnn = 1, Cnk = Cn−1
k
+ Cn−1
8 / 55
Truc: reţinerea valorilor deja calculate
k−1
Cn0 = 1, Cnn = 1, Cnk = Cn−1
k
+ Cn−1
9 / 55
Truc: reţinerea valorilor deja calculate
k−1
Cn0 = 1, Cnn = 1, Cnk = Cn−1
k
+ Cn−1
9 / 55
Truc: tabelare
C00 1
C10 C11 1 1
C20 C21 C22 1 2 1
C30 C31 C32 C33 1 3 3 1
C40 C41 C42 C43 C44 1 4 6 4 1
10 / 55
Truc: tabelare
unsigned long long linie_triunghi[101];
linie_triunghi[0] = 1;
for (int i = 1; i <= n; i++) {
if (i <= k) linie_triunghi[i] = 1;
for (unsigned j = min(k, i-1); j > 0; j--)
linie_triunghi[j] =
linie_triunghi[j-1] + linie_triunghi[j];
}
return linie_triunghi[k];
}
11 / 55
Truc: tabelare
unsigned long long linie_triunghi[101];
linie_triunghi[0] = 1;
for (int i = 1; i <= n; i++) {
if (i <= k) linie_triunghi[i] = 1;
for (unsigned j = min(k, i-1); j > 0; j--)
linie_triunghi[j] =
linie_triunghi[j-1] + linie_triunghi[j];
}
return linie_triunghi[k];
}
Câte adunări se fac?
11 / 55
Problemă
Q2
12 / 55
Acoperirea treptelor cu dreptunghiuri
Exemplu
Suprafaţa ı̂n formă de scară cu 4 trepte:
13 / 55
Acoperirea treptelor cu dreptunghiuri
Exemplu
Suprafaţa ı̂n formă de scară cu 4 trepte:
13 / 55
Alegerea triunghiului din colţ
14 / 55
Alegerea triunghiului din colţ
14 / 55
Acoperirea treptelor cu dreptunghiuri
Fiecare dreptunghi trebuie să acopere o treaptă!
15 / 55
Acoperirea treptelor cu dreptunghiuri
Fiecare dreptunghi trebuie să acopere o treaptă!
15 / 55
Acoperirea treptelor cu dreptunghiuri
Fiecare dreptunghi trebuie să acopere o treaptă!
C6 = C5 + C1 · C4 + C2 · C3 + C3 · C2 + C4 · C1 + C5
15 / 55
Acoperirea treptelor cu dreptunghiuri
Fiecare dreptunghi trebuie să acopere o treaptă!
C6 = C5 + C1 · C4 + C2 · C3 + C3 · C2 + C4 · C1 + C5
6
X
C6 = Ck−1 Cn−k , cu C0 = 1.
k=1
15 / 55
Truc: Numerele lui Catalan
Formula recursivă
n
X
Cn = Ck−1 Cn−k , cu C0 = 1.
k=1
C0 = 1,
Cn = C0 Cn−1 + C1 Cn−2 + · · · + Cn−2 C1 + Cn−1 C0
16 / 55
Truc: Numerele lui Catalan
Formula recursivă
n
X
Cn = Ck−1 Cn−k , cu C0 = 1.
k=1
C0 = 1,
Cn = C0 Cn−1 + C1 Cn−2 + · · · + Cn−2 C1 + Cn−1 C0
Rezolvarea recursiei
1
Cn = Cn
n + 1 2n
16 / 55
Truc: Numerele lui Catalan
Formula recursivă
n
X
Cn = Ck−1 Cn−k , cu C0 = 1.
k=1
C0 = 1,
Cn = C0 Cn−1 + C1 Cn−2 + · · · + Cn−2 C1 + Cn−1 C0
Rezolvarea recursiei
1
Cn = Cn
n + 1 2n
Exemplu:
17 / 55
Aplicaţii
Exemplu (n=3)
x0 · (x1 · (x2 · x3 ))
x0 · ((x1 · x2 ) · x3 )
(x0 · x1 ) · (x2 · x3 )
((x0 · x1 ) · x2 ) · x3
(x0 · (x1 · x2 )) · x3
17 / 55
Aplicaţii
Rezolvare:
Notăm cu pn numărul parantezărilor lui x0 · x1 · x2 · . . . · xn .
Observăm
(x0 · . . . · xk ) · (xk+1 · . . . · xn )
↓ ↓
pk pn−k−1
18 / 55
Aplicaţii
Rezolvare:
Notăm cu pn numărul parantezărilor lui x0 · x1 · x2 · . . . · xn .
Observăm
(x0 · . . . · xk ) · (xk+1 · . . . · xn )
↓ ↓
pk pn−k−1
Deci P
n−1
pn = k=0 pk · pn−k−1 = p0 · pn−1 + p1 · pn−2 + . . . + pn−2 · p1 + pn−1 · p0
18 / 55
Aplicaţii
Rezolvare:
Notăm cu pn numărul parantezărilor lui x0 · x1 · x2 · . . . · xn .
Observăm
(x0 · . . . · xk ) · (xk+1 · . . . · xn )
↓ ↓
pk pn−k−1
Deci P
n−1
pn = k=0 pk · pn−k−1 = p0 · pn−1 + p1 · pn−2 + . . . + pn−2 · p1 + pn−1 · p0
Se observă că pn = Cn , deci numărul parantezărilor unui produs de n + 1
factori este numărul lui Catalan Cn .
18 / 55
Problemă
Q3
19 / 55
Truc: Partiţia unei mulţimi
20 / 55
Truc: Partiţia unei mulţimi
Exemplu
Care sunt partiţiile mulţimii A = {1, 2, 3} ?
21 / 55
Truc: Partiţia unei mulţimi
Exemplu
Care sunt partiţiile mulţimii A = {1, 2, 3} ?
{1, 2, 3}
21 / 55
Truc: Partiţia unei mulţimi
Exemplu
Care sunt partiţiile mulţimii A = {1, 2, 3} ?
{1, 2, 3}
{1, 2}, {3}
{1, 3}, {2}
{2, 3}, {1}
21 / 55
Truc: Partiţia unei mulţimi
Exemplu
Care sunt partiţiile mulţimii A = {1, 2, 3} ?
{1, 2, 3}
{1, 2}, {3}
{1, 3}, {2}
{2, 3}, {1}
{1}, {2}, {3}
21 / 55
Truc: Numărul partiţiilor unei mulţimi
Nr. elem.: 0 1 2 3 4 5 6 7 8 9 10
22 / 55
Truc: Numărul partiţiilor unei mulţimi
Nr. elem.: 0 1 2 3 4 5 6 7 8 9 10
22 / 55
Truc: Numărul partiţiilor unei mulţimi
Nr. elem.: 0 1 2 3 4 5 6 7 8 9 10
22 / 55
Truc: Numărul partiţiilor unei mulţimi
Nr. elem.: 0 1 2 3 4 5 6 7 8 9 10
22 / 55
Truc: Numărul partiţiilor unei mulţimi
Exemplu
Care sunt partiţiile mulţimii A = {1, 2, 3} ?
{1, 2, 3} S(3, 1) = 1
{1, 2}, {3}
{1, 3}, {2} S(3, 2) = 3
{2, 3}, {1}
{1}, {2}, {3} S(3, 3) = 1
23 / 55
Truc: Numărul partiţiilor unei mulţimi
Exemplu
Care sunt partiţiile mulţimii A = {1, 2, 3} ?
{1, 2, 3} S(3, 1) = 1
{1, 2}, {3}
{1, 3}, {2} S(3, 2) = 3
{2, 3}, {1}
{1}, {2}, {3} S(3, 3) = 1
23 / 55
Truc: Numărul partiţiilor unei mulţimi
24 / 55
Truc: Numărul partiţiilor unei mulţimi
24 / 55
Truc: Numărul partiţiilor unei mulţimi
24 / 55
Truc: Numărul partiţiilor unei mulţimi
24 / 55
Truc: Numărul partiţiilor unei mulţimi
Formula recursivă
S(n + 1, k) = S(n, k − 1) + kS(n, k)
Condiţiile iniţiale: S(1, 1) = 1 şi S(n, 0) = S(0, k) = 0
24 / 55
Truc: Numărul partiţiilor unei mulţimi ı̂n k clase
25 / 55
Aplicaţii
26 / 55
Aplicaţii
Rezolvare:
Notăm acest număr cu σ(n, k). Observăm că
partiţionăm mulţimea {1, . . . , n} ı̂n k clase ı̂n S(n, k) moduri
ducem câte un element din fiecare partiţie ı̂n mulţimea {1, . . . , k} ı̂n
k! moduri (permutări de k elemente este k!)
Deci răspunsul este σ(n, k) = k!S(n, k)
26 / 55
Aplicaţii
27 / 55
Aplicaţii
Rezolvare:
Oricărei relaţii de echivalenţă R pe {1, . . . , n} ı̂i asociem o partiţie a
mulţimii {1, . . . , n} astfel:
(i, j) ∈ R ⇔ i şi j sunt ı̂n aceeaşi clasă
Observăm că ı̂n acest mod se stabileşte o bijecţie ı̂ntre mulţimea relaţiilor
de echivalenţă şi partiţiile mulţimii {1, . . . , n}.
Atunci răspunsul este dat de numărul partiţiilor mulţimii {1, . . . , n}.
27 / 55
Aplicaţii
28 / 55
Aplicaţii
Rezolvare:
Asociem lui A o partiţie a mulţimii {1, . . . , n} astfel:
A[i, j] = 1 ⇔ i şi j sunt ı̂n aceeaşi clasă
Observăm că ı̂n acest mod se stabileşte o bijecţie ı̂ntre mulţimea
matricilor de acest tip şi partiţiile mulţimii {1, . . . , n}.
Atunci răspunsul este dat de numărul partiţiilor mulţimii {1, . . . , n}.
28 / 55
Q3
29 / 55
Q3
Descoperirea recursiei:
Dacă p(n, k) este acest număr, observăm că avem două grupuri de
partiţii:
1 partiţii cu 1 ı̂n ele, i.e. 1 + ceva
2 partiţii fără 1
29 / 55
Q3
Descoperirea recursiei:
Dacă p(n, k) este acest număr, observăm că avem două grupuri de
partiţii:
1 partiţii cu 1 ı̂n ele, i.e. 1 + ceva
2 partiţii fără 1
Formula recursivă
p(0, 0) = 0, p(n, 0) = p(0, k) = 0,
p(n, k) = p(n − 1, k − 1) + p(n − k, k)
29 / 55
Problemă
Q4
30 / 55
Piese de domino
Exemplu
Pentru o placă de 2 × 7, o soluţie este:
31 / 55
Piese de domino: descoperirea recursiei
32 / 55
Piese de domino: descoperirea recursiei
32 / 55
Piese de domino: descoperirea recursiei
32 / 55
Piese de domino: descoperirea recursiei
32 / 55
Piese de domino: descoperirea recursiei
32 / 55
Piese de domino: descoperirea recursiei
32 / 55
Piese de domino: descoperirea recursiei
32 / 55
Piese de domino: descoperirea recursiei
Fn = Fn−1 + Fn−2
32 / 55
Truc: Numerele lui Fibonacci
33 / 55
Truc: Numerele lui Fibonacci
Input: n ≥ 1
Output: Al n-lea număr din secvenţa Fibonacci
begin
f1 := 1
f2 := 1
for i := 2 to n do
aux := f1
f1 := f2
f2 := aux + f2
end
end
return f2
33 / 55
Aplicaţii
Reproducerea iepurilor
Populaţia ı̂ncepe cu o singură pereche de iepuri.
Fiecare pereche de iepuri produce o nouă pereche ı̂n două luni.
Presupunem că iepurii nu mor niciodată.
Câte perechi de iepuri vor fi peste n luni?
34 / 55
Aplicaţii
Reproducerea iepurilor
Populaţia ı̂ncepe cu o singură pereche de iepuri.
Fiecare pereche de iepuri produce o nouă pereche ı̂n două luni.
Presupunem că iepurii nu mor niciodată.
Câte perechi de iepuri vor fi peste n luni?
Rezolvare:
Dacă fn este numărul de perechi de iepuri peste n luni, atunci avem
relaţiile f0 = 1, f1 = 1, fn+1 = fn + fn−1 pentru n ≥ 2.
34 / 55
Aplicaţii
35 / 55
Aplicaţii
Rezolvare:
Fie sn numărul secvenţelor de lungime n care nu conţin 0-uri
consecutive.
35 / 55
Aplicaţii
Rezolvare:
Fie sn numărul secvenţelor de lungime n care nu conţin 0-uri
consecutive.
Se observă că s0 = 1 (cuvântul vid) şi s1 = 2.
35 / 55
Aplicaţii
Rezolvare:
Fie sn numărul secvenţelor de lungime n care nu conţin 0-uri
consecutive.
Se observă că s0 = 1 (cuvântul vid) şi s1 = 2.
O secvenţă de lungime n care nu conţine 0-uri consecutive se poate
termina ı̂n:
35 / 55
Aplicaţii
Rezolvare:
Fie sn numărul secvenţelor de lungime n care nu conţin 0-uri
consecutive.
Se observă că s0 = 1 (cuvântul vid) şi s1 = 2.
O secvenţă de lungime n care nu conţine 0-uri consecutive se poate
termina ı̂n:
0: ?? . . .?10, unde |?? . . .?| = n − 2
35 / 55
Aplicaţii
Rezolvare:
Fie sn numărul secvenţelor de lungime n care nu conţin 0-uri
consecutive.
Se observă că s0 = 1 (cuvântul vid) şi s1 = 2.
O secvenţă de lungime n care nu conţine 0-uri consecutive se poate
termina ı̂n:
0: ?? . . .?10, unde |?? . . .?| = n − 2
1: ?? . . .?1, unde |?? . . .?| = n − 1
35 / 55
Aplicaţii
Rezolvare:
Fie sn numărul secvenţelor de lungime n care nu conţin 0-uri
consecutive.
Se observă că s0 = 1 (cuvântul vid) şi s1 = 2.
O secvenţă de lungime n care nu conţine 0-uri consecutive se poate
termina ı̂n:
0: ?? . . .?10, unde |?? . . .?| = n − 2
1: ?? . . .?1, unde |?? . . .?| = n − 1
Deci sn = sn−1 + sn−2 .
35 / 55
Aplicaţii
36 / 55
Aplicaţii
Rezolvare:
Fie an numărul submulţimilor lui {1, . . . , n} care nu conţin două
numere consecutive.
36 / 55
Aplicaţii
Rezolvare:
Fie an numărul submulţimilor lui {1, . . . , n} care nu conţin două
numere consecutive.
Se observă că a0 = 1 (mulţimea vidă) şi a1 = 2.
36 / 55
Aplicaţii
Rezolvare:
Fie an numărul submulţimilor lui {1, . . . , n} care nu conţin două
numere consecutive.
Se observă că a0 = 1 (mulţimea vidă) şi a1 = 2.
Pentru n ≥ 2, dacă A este o submulţime a lui {1, . . . , n} care nu
conţine două numere consecutive, atunci avem două cazuri:
36 / 55
Aplicaţii
Rezolvare:
Fie an numărul submulţimilor lui {1, . . . , n} care nu conţin două
numere consecutive.
Se observă că a0 = 1 (mulţimea vidă) şi a1 = 2.
Pentru n ≥ 2, dacă A este o submulţime a lui {1, . . . , n} care nu
conţine două numere consecutive, atunci avem două cazuri:
n este ı̂n A: Atunci n − 1 nu poate să fie ı̂n A şi A \ {n} este o
submulţime a lui {1, . . . , n − 2} care nu conţin două numere
consecutive.
36 / 55
Aplicaţii
Rezolvare:
Fie an numărul submulţimilor lui {1, . . . , n} care nu conţin două
numere consecutive.
Se observă că a0 = 1 (mulţimea vidă) şi a1 = 2.
Pentru n ≥ 2, dacă A este o submulţime a lui {1, . . . , n} care nu
conţine două numere consecutive, atunci avem două cazuri:
n este ı̂n A: Atunci n − 1 nu poate să fie ı̂n A şi A \ {n} este o
submulţime a lui {1, . . . , n − 2} care nu conţin două numere
consecutive.
n nu este ı̂n A: Atunci A este o submulţime a lui {1, . . . , n − 1} care
nu conţin două numere consecutive.
36 / 55
Aplicaţii
Rezolvare:
Fie an numărul submulţimilor lui {1, . . . , n} care nu conţin două
numere consecutive.
Se observă că a0 = 1 (mulţimea vidă) şi a1 = 2.
Pentru n ≥ 2, dacă A este o submulţime a lui {1, . . . , n} care nu
conţine două numere consecutive, atunci avem două cazuri:
n este ı̂n A: Atunci n − 1 nu poate să fie ı̂n A şi A \ {n} este o
submulţime a lui {1, . . . , n − 2} care nu conţin două numere
consecutive.
n nu este ı̂n A: Atunci A este o submulţime a lui {1, . . . , n − 1} care
nu conţin două numere consecutive.
Deci an = an−2 + an−1 .
36 / 55
Problemă
Q6
37 / 55
În câte zerouri se termină n! ?
Algoritmul naiv
Input: n ∈ N
Output: Numărul de zerouri din n!
begin
fact := 1
for i := 2 to n do
fact := fact * i
end
z := 0
while fact mod 10 = 0 do
fact := fact div 10
z := z + 1
end
end
return z
38 / 55
În câte zerouri se termină n! ?
Algoritmul naiv
Input: n ∈ N
Output: Numărul de zerouri din n!
begin
fact := 1
for i := 2 to n do
fact := fact * i
end
z := 0
while fact mod 10 = 0 do
fact := fact div 10
z := z + 1
end
end
return z
Observaţi vreo problemă?
38 / 55
În câte zerouri se termină n! ?
39 / 55
În câte zerouri se termină n! ?
39 / 55
În câte zerouri se termină n! ?
39 / 55
În câte zerouri se termină n! ?
Sunt mai puţini factori 5 decât 2, deci nr. de zerouri căutat este k5 .
39 / 55
În câte zerouri se termină n! ?
Sunt mai puţini factori 5 decât 2, deci nr. de zerouri căutat este k5 .
39 / 55
În câte zerouri se termină n! ?
$ %
Xj n k j n k n
5i
k5 = , unde =
5i 5i+1 5
i≥1
Input: n ∈ N
Output: Numărul de zerouri din n!
begin
z := 0
while n 6= 0 do
n := n div 5
z := z + n
end
end
return z
40 / 55
Problemă
Q7
41 / 55
Truc: Algoritmul lui Euclid
42 / 55
Truc: Algoritmul lui Euclid
43 / 55
Truc: Algoritmul lui Euclid
44 / 55
Truc: Algoritmul lui Euclid
Input: n, p ∈ N, n ≥ p
Output: cmmdc(n, p)
begin
r := n
r’ := p
while r’ 6= 0 do
ct := r div r’
aux := r
r := r’
r’ := aux - ct * r’
end
end
return r
45 / 55
Truc: Algoritmul lui Euclid extins
Algoritmul lui Euclid extins permite calcularea a doi ı̂ntregi x şi y astfel
ı̂ncât
xn + yp = cmmdc(n, p) (Identitatea lui Bézout)
46 / 55
Truc: Algoritmul lui Euclid extins
Algoritmul ı̂ncepe cu n şi p, şi constă ı̂n adăugarea a două secvenţe
suplimentare
x0 , . . . , xk şi
y0 , . . . , yk d
astfel ı̂ncât
ri = xi ∗ n + yi ∗ p
r0 = n r1 = p ...
x0 = 1 x1 = 0 ...
y0 = 0 y1 = 1 ...
Formula recursivă
ri+1 = ri−1 − qi ri astfel ı̂ncâ t 0 ≤ ri+1 < ri
xi+1 = xi−1 − qi xi
yi+1 = yi−1 − qi yi
47 / 55
Truc: Algoritmul lui Euclid extins
48 / 55
Algoritmul lui Euclid extins
Input: n, p
Output: r=cmmdc(n, p) şi x, y , astfel ı̂ncât x ∗ a + y ∗ b = r
begin
x := 1 x’ := 0
y := 0 y’ := 1
r := n r’ := p
while r 0 6= 0 do
ct := r div r’
aux := r r := r’ r’ := aux - ct * r’
aux := x x := x’ x’ := aux - ct * x’
aux := y y := y’ y’ := aux - ct * y’
end
end
return r,x,y
49 / 55
Aplicaţii
50 / 55
Aplicaţii
Rezolvare:
Algoritmul lui Euclid permite calcularea a doi ı̂ntregi x şi y astfel
ı̂ncât xn + yp = cmmdc(n, p).
Dacă cmmdc(n, p) = 1, atunci n−1 (mod p) = x.
50 / 55
Problemă
Q8
Care este cel mai mic număr natural n care ı̂mpărţit la 2 dă restul 1,
ı̂mpărţit la 3 dă restul 2, ı̂mpărţit la 5 dă restul 3, iar ı̂mpărţit la 7 dă
restul 4?
51 / 55
Problemă
Q8
Care este cel mai mic număr natural n care ı̂mpărţit la 2 dă restul 1,
ı̂mpărţit la 3 dă restul 2, ı̂mpărţit la 5 dă restul 3, iar ı̂mpărţit la 7 dă
restul 4?
52 / 55
Truc: Teorema chineză a resturilor
Teoremă
k
X
s= (si · Pi · xi ),
i=1
p1 ···pk
unde Pi = pi şi xi = Pi−1 (mod pi ) oricare 1 ≤ i ≤ k.
53 / 55
Truc: Teorema chineză a resturilor
Teoremă
k
X
s= (si · Pi · xi ),
i=1
p1 ···pk
unde Pi = pi şi xi = Pi−1 (mod pi ) oricare 1 ≤ i ≤ k.
53 / 55
Truc: Teorema chineză a resturilor
Pk p1 ···pk
s= i=1 (si Pi xi ), unde Pi = pi şi xi = Pi−1 (mod pi ) or. i.
Exemplu
p1 = 2, p2 = 3, p3 = 5, p4 = 7
s1 = 1, s2 = 2, s3 = 3, s4 = 4
54 / 55
Truc: Teorema chineză a resturilor
Pk p1 ···pk
s= i=1 (si Pi xi ), unde Pi = pi şi xi = Pi−1 (mod pi ) or. i.
Exemplu
p1 = 2, p2 = 3, p3 = 5, p4 = 7
s1 = 1, s2 = 2, s3 = 3, s4 = 4
P = 2 ∗ 3 ∗ 5 ∗ 7 = 210
54 / 55
Truc: Teorema chineză a resturilor
Pk p1 ···pk
s= i=1 (si Pi xi ), unde Pi = pi şi xi = Pi−1 (mod pi ) or. i.
Exemplu
p1 = 2, p2 = 3, p3 = 5, p4 = 7
s1 = 1, s2 = 2, s3 = 3, s4 = 4
P = 2 ∗ 3 ∗ 5 ∗ 7 = 210
P1 = 105, 1 = 105−1 (mod 2), x1 = 1
54 / 55
Truc: Teorema chineză a resturilor
Pk p1 ···pk
s= i=1 (si Pi xi ), unde Pi = pi şi xi = Pi−1 (mod pi ) or. i.
Exemplu
p1 = 2, p2 = 3, p3 = 5, p4 = 7
s1 = 1, s2 = 2, s3 = 3, s4 = 4
P = 2 ∗ 3 ∗ 5 ∗ 7 = 210
P1 = 105, 1 = 105−1 (mod 2), x1 = 1
P2 = 70, 1 = 70−1 (mod 3), x2 = 1
54 / 55
Truc: Teorema chineză a resturilor
Pk p1 ···pk
s= i=1 (si Pi xi ), unde Pi = pi şi xi = Pi−1 (mod pi ) or. i.
Exemplu
p1 = 2, p2 = 3, p3 = 5, p4 = 7
s1 = 1, s2 = 2, s3 = 3, s4 = 4
P = 2 ∗ 3 ∗ 5 ∗ 7 = 210
P1 = 105, 1 = 105−1 (mod 2), x1 = 1
P2 = 70, 1 = 70−1 (mod 3), x2 = 1
P3 = 42, 3 = 42−1 (mod 5), x3 = 3
54 / 55
Truc: Teorema chineză a resturilor
Pk p1 ···pk
s= i=1 (si Pi xi ), unde Pi = pi şi xi = Pi−1 (mod pi ) or. i.
Exemplu
p1 = 2, p2 = 3, p3 = 5, p4 = 7
s1 = 1, s2 = 2, s3 = 3, s4 = 4
P = 2 ∗ 3 ∗ 5 ∗ 7 = 210
P1 = 105, 1 = 105−1 (mod 2), x1 = 1
P2 = 70, 1 = 70−1 (mod 3), x2 = 1
P3 = 42, 3 = 42−1 (mod 5), x3 = 3
P4 = 30, 4 = 30−1 (mod 7), x4 = 4
54 / 55
Truc: Teorema chineză a resturilor
Pk p1 ···pk
s= i=1 (si Pi xi ), unde Pi = pi şi xi = Pi−1 (mod pi ) or. i.
Exemplu
p1 = 2, p2 = 3, p3 = 5, p4 = 7
s1 = 1, s2 = 2, s3 = 3, s4 = 4
P = 2 ∗ 3 ∗ 5 ∗ 7 = 210
P1 = 105, 1 = 105−1 (mod 2), x1 = 1
P2 = 70, 1 = 70−1 (mod 3), x2 = 1
P3 = 42, 3 = 42−1 (mod 5), x3 = 3
P4 = 30, 4 = 30−1 (mod 7), x4 = 4
54 / 55
Baftă la examen!
55 / 55