You are on page 1of 73

Számı́tástudomány

Budapesti Corvinus Egyetem


Matematika Tanszék

2020. február 12.


Félév menete

1 Számelmélet
2 Rejtjelezés
3 Gráfelmélet
4 Gráfalgoritmusok
5 Műveletigény analı́zis
6 Adatszerkezetek
7 Ítéletkalkulus

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 2 / 22


Tananyag

Tankönyv:
Tasnádi Attila (2006), Számı́tástudomány
gazdaságinformatikusoknak, AULA.
http://web.uni-corvinus.hu/t̃asnadi/szamtud

Előadások:
Moodle

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 3 / 22


Számonkérés

2 darab 20 pontos zh. Az első várhatóan a 4. előadáson (nov 7),


a második a vizsgaidőszak 1. v 2. napján.
Írásbeli vizsga a vizsgaidőszakban 60 pont. Egy alkalom
decemberben, kettő januárban.
Ponthatárok:
Pontszám 0-39,99 40-54,99 55-69,99 70-84,99 85-100
Jegy 1 2 3 4 5

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 4 / 22


Számelmélet

Definı́ció
Azt mondjuk, hogy az a egész szám osztója a b egész számnak, ha
létezik olyan c egész szám melyre b = ca. Jelölés: a | b.

Pl.: Mivel 12 = 4 · 3, ezért 3 | 12.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 5 / 22


Számelmélet

Definı́ció
Azt mondjuk, hogy az a egész szám osztója a b egész számnak, ha
létezik olyan c egész szám melyre b = ca. Jelölés: a | b.

Pl.: Mivel 12 = 4 · 3, ezért 3 | 12.


Definı́ció
A p > 1 egész szám egy prı́mszám, ha pozitı́v osztóinak halmaza
{1, p}. Jelölés: P.

Tehát
P = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, . . .}.
Megj.: Más felépı́tésben külön definiálják a prı́mszám és a felbonthatatlan
szám fogalmakat, majd belátják, hogy az egész számok Z-vel jelölt
halmazán a két fogalom ugyanazokat a számokat jelenti.
(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 5 / 22
Tétel (a számelmélet alaptétele)
Bármely a > 1 egész szám a tényezők sorrendjétől eltekintve
egyértelműen ı́rható fel prı́mek szorzataként.

Definı́ció
Az a > 1 egész szám kanonikus alakja (más néven törzstényezős
felbontása) az a prı́mszámok szorzataként történő előállı́tása. Azaz
n
Y
a= pimi , p1 < · · · < pn , pi ∈ P, mi ∈ Z+
i=1

Pl. 1848 = 23 · 3 · 7 · 11.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 6 / 22


Definı́ció
Alsó egészrész: ⌊x⌋ = max {b ∈ Z | b ≤ x}, ahol x ∈ R.
Felső egészrész: ⌈x⌉ = min {b ∈ Z | x ≤ b}, ahol x ∈ R.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 7 / 22


Definı́ció
Alsó egészrész: ⌊x⌋ = max {b ∈ Z | b ≤ x}, ahol x ∈ R.
Felső egészrész: ⌈x⌉ = min {b ∈ Z | x ≤ b}, ahol x ∈ R.

Pl. ⌊2, 6⌋ = 2, ⌈π⌉ = 4, − 43 =


 

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 7 / 22


Definı́ció
Alsó egészrész: ⌊x⌋ = max {b ∈ Z | b ≤ x}, ahol x ∈ R.
Felső egészrész: ⌈x⌉ = min {b ∈ Z | x ≤ b}, ahol x ∈ R.

Pl. ⌊2, 6⌋ = 2, ⌈π⌉ = 4, − 43 =−2.


 

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 7 / 22


Definı́ció
Alsó egészrész: ⌊x⌋ = max {b ∈ Z | b ≤ x}, ahol x ∈ R.
Felső egészrész: ⌈x⌉ = min {b ∈ Z | x ≤ b}, ahol x ∈ R.

Pl. ⌊2, 6⌋ = 2, ⌈π⌉ = 4, − 43 =−2.


 

Tétel (a maradékos osztás tétele)


∀a ∈ Z ( osztandó”), ∀b ∈ Z+ ( osztó”), ∃!q, r ∈ Z ( hányados”és
” ” ”
maradék”) : a = qb + r és 0 ≤ r < b.

Ekkor q = ⌊a/b⌋ és r = a − qb.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 7 / 22


Definı́ció
Alsó egészrész: ⌊x⌋ = max {b ∈ Z | b ≤ x}, ahol x ∈ R.
Felső egészrész: ⌈x⌉ = min {b ∈ Z | x ≤ b}, ahol x ∈ R.

Pl. ⌊2, 6⌋ = 2, ⌈π⌉ = 4, − 43 =−2.


 

Tétel (a maradékos osztás tétele)


∀a ∈ Z ( osztandó”), ∀b ∈ Z+ ( osztó”), ∃!q, r ∈ Z ( hányados”és
” ” ”
maradék”) : a = qb + r és 0 ≤ r < b.

Ekkor q = ⌊a/b⌋ és r = a − qb.

Pl. a = 26, b = 7-re q = 3 és r = 5, mert 26 = 3 · 7 + 5.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 7 / 22


Definı́ció
Alsó egészrész: ⌊x⌋ = max {b ∈ Z | b ≤ x}, ahol x ∈ R.
Felső egészrész: ⌈x⌉ = min {b ∈ Z | x ≤ b}, ahol x ∈ R.

Pl. ⌊2, 6⌋ = 2, ⌈π⌉ = 4, − 43 =−2.


 

Tétel (a maradékos osztás tétele)


∀a ∈ Z ( osztandó”), ∀b ∈ Z+ ( osztó”), ∃!q, r ∈ Z ( hányados”és
” ” ”
maradék”) : a = qb + r és 0 ≤ r < b.

Ekkor q = ⌊a/b⌋ és r = a − qb.

Pl. a = 26, b = 7-re q = 3 és r = 5, mert 26 = 3 · 7 + 5.


a = −32, b = 10-re

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 7 / 22


Definı́ció
Alsó egészrész: ⌊x⌋ = max {b ∈ Z | b ≤ x}, ahol x ∈ R.
Felső egészrész: ⌈x⌉ = min {b ∈ Z | x ≤ b}, ahol x ∈ R.

Pl. ⌊2, 6⌋ = 2, ⌈π⌉ = 4, − 43 =−2.


 

Tétel (a maradékos osztás tétele)


∀a ∈ Z ( osztandó”), ∀b ∈ Z+ ( osztó”), ∃!q, r ∈ Z ( hányados”és
” ” ”
maradék”) : a = qb + r és 0 ≤ r < b.

Ekkor q = ⌊a/b⌋ és r = a − qb.

Pl. a = 26, b = 7-re q = 3 és r = 5, mert 26 = 3 · 7 + 5.


a = −32, b = 10-re q = −4 és r = 8, mert −32 = −4 · 10 + 8
Definı́ció
Az r maradék másfajta jelölése: a mod b.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 7 / 22


Legnagyobb közös osztó

Definı́ció
Az a, b ∈ Z számok egy közös osztója egy olyan egész szám, ami
mind a-nak, mind b-nek osztója.

Pl. 1956-nak és 1848-nak a 6 és a 4 is közös osztója.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 8 / 22


Legnagyobb közös osztó

Definı́ció
Az a, b ∈ Z számok egy közös osztója egy olyan egész szám, ami
mind a-nak, mind b-nek osztója.

Pl. 1956-nak és 1848-nak a 6 és a 4 is közös osztója.

Definı́ció (legnagyobb közös osztó)


lnko(a, b) = max{c ∈ Z : c | a és c | b}, ha a ̸= 0 vagy b ̸= 0.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 8 / 22


Legnagyobb közös osztó

Definı́ció
Az a, b ∈ Z számok egy közös osztója egy olyan egész szám, ami
mind a-nak, mind b-nek osztója.

Pl. 1956-nak és 1848-nak a 6 és a 4 is közös osztója.

Definı́ció (legnagyobb közös osztó)


lnko(a, b) = max{c ∈ Z : c | a és c | b}, ha a ̸= 0 vagy b ̸= 0.
Legyen lnko(a, b) = 0, ha a = 0 és b = 0.

Példa: látni fogjuk, hogy lnko(1956, 1848) = 12.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 8 / 22


Legnagyobb közös osztó

Definı́ció
Az a, b ∈ Z számok egy közös osztója egy olyan egész szám, ami
mind a-nak, mind b-nek osztója.

Pl. 1956-nak és 1848-nak a 6 és a 4 is közös osztója.

Definı́ció (legnagyobb közös osztó)


lnko(a, b) = max{c ∈ Z : c | a és c | b}, ha a ̸= 0 vagy b ̸= 0.
Legyen lnko(a, b) = 0, ha a = 0 és b = 0.

Példa: látni fogjuk, hogy lnko(1956, 1848) = 12.


Állı́tás: a és b összes közös osztója az lnko(a, b)-nek is osztója.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 8 / 22


Az euklideszi algoritmus

Tétel
a ∈ Z és b ∈ Z+ , akkor lnko (a, b) = lnko (b, a mod b).

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 9 / 22


Az euklideszi algoritmus

Tétel
a ∈ Z és b ∈ Z+ , akkor lnko (a, b) = lnko (b, a mod b).

Biz.: Megmutatjuk, hogy a és b közös osztói (A) ugyanazok, mint b


és a mod b közös osztói (B).

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 9 / 22


Az euklideszi algoritmus

Tétel
a ∈ Z és b ∈ Z+ , akkor lnko (a, b) = lnko (b, a mod b).

Biz.: Megmutatjuk, hogy a és b közös osztói (A) ugyanazok, mint b


és a mod b közös osztói (B).
A Maradékos Osztás Tétel alapján ∃q ∈ Z, hogy
(1) a − qb = a mod b ⇒ A ⊆ B
(2) a = qb + (a mod b) ⇒ A ⊇ B
A=B, és mivel a közös osztók megegyeznek, ı́gy a legnagyobb is. □

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 9 / 22


Példa

Még csak egy példán keresztül mutatjuk be az euklideszi algoritmust:


Tétel
lnko(1956, 1848) = lnko(1848, 1956 mod 1848) =
Tétel
= lnko(1848, 108) = lnko(108, 1848 mod 108) =
Tétel
lnko(108, 12) = lnko(12, 108 mod 12) = lnko( 12 , 0) = 12.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 10 / 22


Az euklideszi algoritmus formálisan
Az algoritmus bemenete két szám: 0 ≤ a, b ∈ Z (b ̸= 0).
A 0. (kezdeti) fázisban r0 := a, r1 := b.
Az i. (1 ≤ i) fázisban ri+1 := ri−1 mod ri , ha ri ̸= 0.
Az algoritmus az rk érték visszaadásával megáll, ha rk+1 = 0.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 11 / 22


Az euklideszi algoritmus formálisan
Az algoritmus bemenete két szám: 0 ≤ a, b ∈ Z (b ̸= 0).
A 0. (kezdeti) fázisban r0 := a, r1 := b.
Az i. (1 ≤ i) fázisban ri+1 := ri−1 mod ri , ha ri ̸= 0.
Az algoritmus az rk érték visszaadásával megáll, ha rk+1 = 0.

Tétel
Az euklideszi algoritmus véges sok lépésben véget ér és helyes
eredményt ad, azaz rk = lnko(a, b).

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 11 / 22


Az euklideszi algoritmus formálisan
Az algoritmus bemenete két szám: 0 ≤ a, b ∈ Z (b ̸= 0).
A 0. (kezdeti) fázisban r0 := a, r1 := b.
Az i. (1 ≤ i) fázisban ri+1 := ri−1 mod ri , ha ri ̸= 0.
Az algoritmus az rk érték visszaadásával megáll, ha rk+1 = 0.

Tétel
Az euklideszi algoritmus véges sok lépésben véget ér és helyes
eredményt ad, azaz rk = lnko(a, b).

Biz.: Az algoritmus véget ér, mert a maradékok r1 , r2 , r3 , . . . sorozata


szig. mon. csökkenő poz. tagú sorozat.
0. fázis Tétel Tétel Tétel
lnko(a, b) = lnko(r0 , r1 ) = lnko(r1 , r2 ) = lnko(r2 , r3 ) =
Tétel nyilván
. . . = lnko(rk , 0) = rk . □
(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 11 / 22
Megjegyzés: Az algoritmus akkor is helyesen működik, ha a és b közül
valamelyik (vagy mindkettő) negatı́v. Ehhez csak a maradékos
osztásnál kell a maradék fogalmát pontosı́tani: 0 ≤ r < b” helyett

0 ≤ r < |b|”. Ekkor az előző bizonyı́tásban a maradékok sorozatára

csak a r2 -től lehet a szig. mon. csökkenést garantálni.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 12 / 22


Megjegyzés: Az algoritmus akkor is helyesen működik, ha a és b közül
valamelyik (vagy mindkettő) negatı́v. Ehhez csak a maradékos
osztásnál kell a maradék fogalmát pontosı́tani: 0 ≤ r < b” helyett

0 ≤ r < |b|”. Ekkor az előző bizonyı́tásban a maradékok sorozatára

csak a r2 -től lehet a szig. mon. csökkenést garantálni.
Megjegyzés: az a ∈ N szám t alapú számrendszerbeli felı́rásához
⌊logt a⌋ + 1 számjegy szükséges.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 12 / 22


Megjegyzés: Az algoritmus akkor is helyesen működik, ha a és b közül
valamelyik (vagy mindkettő) negatı́v. Ehhez csak a maradékos
osztásnál kell a maradék fogalmát pontosı́tani: 0 ≤ r < b” helyett

0 ≤ r < |b|”. Ekkor az előző bizonyı́tásban a maradékok sorozatára

csak a r2 -től lehet a szig. mon. csökkenést garantálni.
Megjegyzés: az a ∈ N szám t alapú számrendszerbeli felı́rásához
⌊logt a⌋ + 1 számjegy szükséges.(⌊lg 2013⌋ + 1 = 4.)

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 12 / 22


Megjegyzés: Az algoritmus akkor is helyesen működik, ha a és b közül
valamelyik (vagy mindkettő) negatı́v. Ehhez csak a maradékos
osztásnál kell a maradék fogalmát pontosı́tani: 0 ≤ r < b” helyett

0 ≤ r < |b|”. Ekkor az előző bizonyı́tásban a maradékok sorozatára

csak a r2 -től lehet a szig. mon. csökkenést garantálni.
Megjegyzés: az a ∈ N szám t alapú számrendszerbeli felı́rásához
⌊logt a⌋ + 1 számjegy szükséges.(⌊lg 2013⌋ + 1 = 4.)
Tétel
Ha a > b > 0, akkor az euklideszi algoritmus √ legfeljebb 1 + logΦ b
iterációs lépést hajt végre, ahol Φ = 1 + 5 /2. □

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 12 / 22


Megjegyzés: Az algoritmus akkor is helyesen működik, ha a és b közül
valamelyik (vagy mindkettő) negatı́v. Ehhez csak a maradékos
osztásnál kell a maradék fogalmát pontosı́tani: 0 ≤ r < b” helyett

0 ≤ r < |b|”. Ekkor az előző bizonyı́tásban a maradékok sorozatára

csak a r2 -től lehet a szig. mon. csökkenést garantálni.
Megjegyzés: az a ∈ N szám t alapú számrendszerbeli felı́rásához
⌊logt a⌋ + 1 számjegy szükséges.(⌊lg 2013⌋ + 1 = 4.)
Tétel
Ha a > b > 0, akkor az euklideszi algoritmus √ legfeljebb 1 + logΦ b
iterációs lépést hajt végre, ahol Φ = 1 + 5 /2. □
logt b
Megjegyzés: Mivel 1 + logΦ b = 1 + log ≈ log1 Φ (1 + ⌊logt b⌋) az
tΦ t
iterációk száma legrosszabb esetben is a számjegyek számával
arányosan növekszik.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 12 / 22


Az euklideszi algoritmus implementálása
Az algoritmus az r0 , r1 , r2 , . . . értékek közül mindig csak a
legutóbbi kettőt használja, a többit felesleges külön változókban
eltárolni.
Ez egy implementációban megoldható a kezdetben a és b
értékeket tartalmazó változók ismételt értékadásával.
Sajnos, az a mod b operáció értelmezése programnyelv és
hardver függő: negatı́v osztó v. negatı́v osztandó esetén eltérések
lehetnek. Emiatt célszerű a és b helyett |a|-val és |b|-vel
dolgozni.
Ezek alapján az algoritmus struktogramja:

a := euklideszi(a, b)

a, b := |a|, |b|
b ̸= 0
a, b := b, a mod b
(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 13 / 22
Diofantoszi egyenletek

Definı́ció
A kétváltozós lineáris diofantoszi egyenlet ax + by = c alakú, ahol
a, b, c ∈ Z adottak és x, y ∈ Z ismeretlenek.

Példa: Megmutatható, hogy a 3x + 7y = 19 diof. egyenletnek


pontosan az (x, y ) = (4 + 7n, 1 − 3n) (n ∈ Z) alakú számpárok a
megoldásai.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 14 / 22


Diofantoszi egyenletek

Definı́ció
A kétváltozós lineáris diofantoszi egyenlet ax + by = c alakú, ahol
a, b, c ∈ Z adottak és x, y ∈ Z ismeretlenek.

Példa: Megmutatható, hogy a 3x + 7y = 19 diof. egyenletnek


pontosan az (x, y ) = (4 + 7n, 1 − 3n) (n ∈ Z) alakú számpárok a
megoldásai.

Jelölés (Műveletek halmazokkal)


Adottak a, b ∈ Z és X , Y ⊆ Z.
aX := {ax | x ∈ X } és

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 14 / 22


Diofantoszi egyenletek

Definı́ció
A kétváltozós lineáris diofantoszi egyenlet ax + by = c alakú, ahol
a, b, c ∈ Z adottak és x, y ∈ Z ismeretlenek.

Példa: Megmutatható, hogy a 3x + 7y = 19 diof. egyenletnek


pontosan az (x, y ) = (4 + 7n, 1 − 3n) (n ∈ Z) alakú számpárok a
megoldásai.

Jelölés (Műveletek halmazokkal)


Adottak a, b ∈ Z és X , Y ⊆ Z.
aX := {ax | x ∈ X } és aX + bY := {ax + by | x ∈ X , y ∈ Y }

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 14 / 22


Diofantoszi egyenletek

Definı́ció
A kétváltozós lineáris diofantoszi egyenlet ax + by = c alakú, ahol
a, b, c ∈ Z adottak és x, y ∈ Z ismeretlenek.

Példa: Megmutatható, hogy a 3x + 7y = 19 diof. egyenletnek


pontosan az (x, y ) = (4 + 7n, 1 − 3n) (n ∈ Z) alakú számpárok a
megoldásai.

Jelölés (Műveletek halmazokkal)


Adottak a, b ∈ Z és X , Y ⊆ Z.
aX := {ax | x ∈ X } és aX + bY := {ax + by | x ∈ X , y ∈ Y }

Példák: 2Z a páros számok halmaza, és 2Z + 4Z = 2Z,


2Z ∩ 3Z = 6Z a 6-tal osztható számok halmaza.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 14 / 22


Tétel
∀a, b ∈ Z : lnko(a, b) ∈ aZ + bZ,
azaz a és b legnagyobb közös osztója előáll az a és b számok egész
súlyokkal képzett súlyozott összegeként

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 15 / 22


Tétel
∀a, b ∈ Z : lnko(a, b) ∈ aZ + bZ,
azaz a és b legnagyobb közös osztója előáll az a és b számok egész
súlyokkal képzett súlyozott összegeként

Az eukl. alg-ban szereplő r0 , r1 , r2 , . . . rk = lnko(a, b) osztási


maradékokról indukcióval belátjuk, hogy ri ∈ aZ + bZ.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 15 / 22


Tétel
∀a, b ∈ Z : lnko(a, b) ∈ aZ + bZ,
azaz a és b legnagyobb közös osztója előáll az a és b számok egész
súlyokkal képzett súlyozott összegeként

Az eukl. alg-ban szereplő r0 , r1 , r2 , . . . rk = lnko(a, b) osztási


maradékokról indukcióval belátjuk, hogy ri ∈ aZ + bZ.
Nyilván r0 := a és r1 = b is az aZ + bZ eleme.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 15 / 22


Tétel
∀a, b ∈ Z : lnko(a, b) ∈ aZ + bZ,
azaz a és b legnagyobb közös osztója előáll az a és b számok egész
súlyokkal képzett súlyozott összegeként

Az eukl. alg-ban szereplő r0 , r1 , r2 , . . . rk = lnko(a, b) osztási


maradékokról indukcióval belátjuk, hogy ri ∈ aZ + bZ.
Nyilván r0 := a és r1 = b is az aZ + bZ eleme.
Ha ri−1 , ri ∈ aZ + bZ, azaz ri−1 = axi−1 + byi−1 és ri = axi + byi
alkalmas xi−1 , xi , yi−1 , yi egészekre, akkor

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 15 / 22


Tétel
∀a, b ∈ Z : lnko(a, b) ∈ aZ + bZ,
azaz a és b legnagyobb közös osztója előáll az a és b számok egész
súlyokkal képzett súlyozott összegeként

Az eukl. alg-ban szereplő r0 , r1 , r2 , . . . rk = lnko(a, b) osztási


maradékokról indukcióval belátjuk, hogy ri ∈ aZ + bZ.
Nyilván r0 := a és r1 = b is az aZ + bZ eleme.
Ha ri−1 , ri ∈ aZ + bZ, azaz ri−1 = axi−1 + byi−1 és ri = axi + byi
alkalmas xi−1 , xi , yi−1 , yi egészekre, akkor
eukl. alg. szabálya
ri+1 = ri−1 − ri qi =(axi−1 + byi−1 ) − (axi + byi ) qi =
a(xi−1 − xi qi ) + b(yi−1 − yi qi ) ∈ aZ + bZ.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 15 / 22


Diofantoszi egyenletek megoldhatósága

Tétel
Az ax + by = c egyenlet megoldható ⇐⇒ lnko(a, b) | c.

Példa: 12x − 9y = 25-nek nincs megoldása, 1956x + 1848y = 36-nak


van megoldása.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 16 / 22


Diofantoszi egyenletek megoldhatósága

Tétel
Az ax + by = c egyenlet megoldható ⇐⇒ lnko(a, b) | c.

Példa: 12x − 9y = 25-nek nincs megoldása, 1956x + 1848y = 36-nak


van megoldása.
⇒: t.f.h. x, y ∈ Z egy megoldása az ax + by = c egyenletnek.
Ekkor lnko(a, b) | a és lnko(a, b) | b alapján
lnko(a, b) | ax + by = c.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 16 / 22


Diofantoszi egyenletek megoldhatósága

Tétel
Az ax + by = c egyenlet megoldható ⇐⇒ lnko(a, b) | c.

Példa: 12x − 9y = 25-nek nincs megoldása, 1956x + 1848y = 36-nak


van megoldása.
⇒: t.f.h. x, y ∈ Z egy megoldása az ax + by = c egyenletnek.
Ekkor lnko(a, b) | a és lnko(a, b) | b alapján
lnko(a, b) | ax + by = c.
⇐: Ha lnko(a, b) | c, akkor alkalmas d ∈ Z-re ill. s, t ∈ Z-re
előző tétel
c = d · lnko(a, b) = d · (as + bt) = a(ds) + b(dt).
Tehát x = d · s és y = d · t egy megoldás.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 16 / 22


Az ax + by = c diofantoszi egyenlet megoldásának
lépései
T.f.h. a ≥ 0 és b > 0.
1 Egészı́tsük ki az euklideszi algoritmust az xi+1 = xi−1 − xi qi−1 és
yi+1 = yi−1 − yi qi−1 számı́tásokkal.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 17 / 22


Az ax + by = c diofantoszi egyenlet megoldásának
lépései
T.f.h. a ≥ 0 és b > 0.
1 Egészı́tsük ki az euklideszi algoritmust az xi+1 = xi−1 − xi qi−1 és
yi+1 = yi−1 − yi qi−1 számı́tásokkal.
Mivel r0 = a · 1 + b · 0, legyen x0 = 1 és y0 = 0.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 17 / 22


Az ax + by = c diofantoszi egyenlet megoldásának
lépései
T.f.h. a ≥ 0 és b > 0.
1 Egészı́tsük ki az euklideszi algoritmust az xi+1 = xi−1 − xi qi−1 és
yi+1 = yi−1 − yi qi−1 számı́tásokkal.
Mivel r0 = a · 1 + b · 0, legyen x0 = 1 és y0 = 0.
Mivel r1 = a · 0 + b · 1, legyen x1 = 0 és y1 = 1.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 17 / 22


Az ax + by = c diofantoszi egyenlet megoldásának
lépései
T.f.h. a ≥ 0 és b > 0.
1 Egészı́tsük ki az euklideszi algoritmust az xi+1 = xi−1 − xi qi−1 és
yi+1 = yi−1 − yi qi−1 számı́tásokkal.
Mivel r0 = a · 1 + b · 0, legyen x0 = 1 és y0 = 0.
Mivel r1 = a · 0 + b · 1, legyen x1 = 0 és y1 = 1.
Ekkor lnko(a, b) = axk + byk .

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 17 / 22


Az ax + by = c diofantoszi egyenlet megoldásának
lépései
T.f.h. a ≥ 0 és b > 0.
1 Egészı́tsük ki az euklideszi algoritmust az xi+1 = xi−1 − xi qi−1 és
yi+1 = yi−1 − yi qi−1 számı́tásokkal.
Mivel r0 = a · 1 + b · 0, legyen x0 = 1 és y0 = 0.
Mivel r1 = a · 0 + b · 1, legyen x1 = 0 és y1 = 1.
Ekkor lnko(a, b) = axk + byk .
2 rk = lnko(a, b) | c ellenőrizendő.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 17 / 22


Az ax + by = c diofantoszi egyenlet megoldásának
lépései
T.f.h. a ≥ 0 és b > 0.
1 Egészı́tsük ki az euklideszi algoritmust az xi+1 = xi−1 − xi qi−1 és
yi+1 = yi−1 − yi qi−1 számı́tásokkal.
Mivel r0 = a · 1 + b · 0, legyen x0 = 1 és y0 = 0.
Mivel r1 = a · 0 + b · 1, legyen x1 = 0 és y1 = 1.
Ekkor lnko(a, b) = axk + byk .
2 rk = lnko(a, b) | c ellenőrizendő.
3 d := c/ lnko(a, b)

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 17 / 22


Az ax + by = c diofantoszi egyenlet megoldásának
lépései
T.f.h. a ≥ 0 és b > 0.
1 Egészı́tsük ki az euklideszi algoritmust az xi+1 = xi−1 − xi qi−1 és
yi+1 = yi−1 − yi qi−1 számı́tásokkal.
Mivel r0 = a · 1 + b · 0, legyen x0 = 1 és y0 = 0.
Mivel r1 = a · 0 + b · 1, legyen x1 = 0 és y1 = 1.
Ekkor lnko(a, b) = axk + byk .
2 rk = lnko(a, b) | c ellenőrizendő.
3 d := c/ lnko(a, b)
4 x ∗ = d · xk és y ∗ = d · yk egy megoldás.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 17 / 22


Az ax + by = c diofantoszi egyenlet megoldásának
lépései
T.f.h. a ≥ 0 és b > 0.
1 Egészı́tsük ki az euklideszi algoritmust az xi+1 = xi−1 − xi qi−1 és
yi+1 = yi−1 − yi qi−1 számı́tásokkal.
Mivel r0 = a · 1 + b · 0, legyen x0 = 1 és y0 = 0.
Mivel r1 = a · 0 + b · 1, legyen x1 = 0 és y1 = 1.
Ekkor lnko(a, b) = axk + byk .
2 rk = lnko(a, b) | c ellenőrizendő.
3 d := c/ lnko(a, b)
4 x ∗ = d · xk és y ∗ = d · yk egy megoldás.
5 Az összes (x, y ) megoldás x = x ∗ + lnko(a,b)
b
t, y = y ∗ − lnko(a,b)
a
t
(t ∈ Z tetszőleges) alakban áll elő. (ld. TK. 4.11. feladat)

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 17 / 22


Példa: oldjuk meg a 896x + 22y = 4 egyenletet!
i ri ri+1 qi xi yi
0 896 22 1 0
1 22 0 1
2
3
4
5
6

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 18 / 22


Példa: oldjuk meg a 896x + 22y = 4 egyenletet!
i ri ri+1 qi xi yi
0 896 22 40 1 0
1 22 16 0 1
2 16 1 −40
3
4
5
6

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 18 / 22


Példa: oldjuk meg a 896x + 22y = 4 egyenletet!
i ri ri+1 qi xi yi
0 896 22 40 1 0
1 22 16 1 0 1
2 16 6 1 −40
3 6 −1 41
4
5
6

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 18 / 22


Példa: oldjuk meg a 896x + 22y = 4 egyenletet!
i ri ri+1 qi xi yi
0 896 22 40 1 0
1 22 16 1 0 1
2 16 6 2 1 −40
3 6 4 −1 41
4 4 3 −122
5
6

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 18 / 22


Példa: oldjuk meg a 896x + 22y = 4 egyenletet!
i ri ri+1 qi xi yi
0 896 22 40 1 0
1 22 16 1 0 1
2 16 6 2 1 −40
3 6 4 1 −1 41
4 4 2 3 −122
5 2 −4 163
6

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 18 / 22


Példa: oldjuk meg a 896x + 22y = 4 egyenletet!
i ri ri+1 qi xi yi
0 896 22 40 1 0
1 22 16 1 0 1
2 16 6 2 1 −40
3 6 4 1 −1 41
4 4 2 2 3 −122
5 2 0 - −4 163
6 0 - - -

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 18 / 22


Példa: oldjuk meg a 896x + 22y = 4 egyenletet!
i ri ri+1 qi xi yi
0 896 22 40 1 0
1 22 16 1 0 1
2 16 6 2 1 −40
3 6 4 1 −1 41
4 4 2 2 3 −122
5 2 0 - −4 163
6 0 - - -

Mivel 2 | 4, ezért x ∗ = −8 és y ∗ = 326 egy megoldás.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 18 / 22


Kongruencia
Definı́ció
Azt mondjuk, hogy a ∈ Z kongruens b ∈ Z modulo m ∈ Z+ , ha
m | a − b.
Jelölés: a ≡ b (mod m).

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 19 / 22


Kongruencia
Definı́ció
Azt mondjuk, hogy a ∈ Z kongruens b ∈ Z modulo m ∈ Z+ , ha
m | a − b.
Jelölés: a ≡ b (mod m).

Példa: 7 ≡ −2 (mod 3), 5 ̸≡ 2 (mod 2).

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 19 / 22


Kongruencia
Definı́ció
Azt mondjuk, hogy a ∈ Z kongruens b ∈ Z modulo m ∈ Z+ , ha
m | a − b.
Jelölés: a ≡ b (mod m).

Példa: 7 ≡ −2 (mod 3), 5 ̸≡ 2 (mod 2).


Tétel
a ≡ b (mod m) ⇐⇒ a mod m = b mod m

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 19 / 22


Kongruencia
Definı́ció
Azt mondjuk, hogy a ∈ Z kongruens b ∈ Z modulo m ∈ Z+ , ha
m | a − b.
Jelölés: a ≡ b (mod m).

Példa: 7 ≡ −2 (mod 3), 5 ̸≡ 2 (mod 2).


Tétel
a ≡ b (mod m) ⇐⇒ a mod m = b mod m
M.O.T
Biz.: a ≡ b (mod m) ⇐⇒ qa m + a mod m ≡ qb m + b mod m (mod m)

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 19 / 22


Kongruencia
Definı́ció
Azt mondjuk, hogy a ∈ Z kongruens b ∈ Z modulo m ∈ Z+ , ha
m | a − b.
Jelölés: a ≡ b (mod m).

Példa: 7 ≡ −2 (mod 3), 5 ̸≡ 2 (mod 2).


Tétel
a ≡ b (mod m) ⇐⇒ a mod m = b mod m
M.O.T
Biz.: a ≡ b (mod m) ⇐⇒ qa m + a mod m ≡ qb m + b mod m (mod m)
⇐⇒ m | (qa m + a mod m) − (qb m + b mod m) =
0≤ <m 0≤ <m
z }| { z }| {
m(qa − qb ) + (a mod m) − (b mod m) ⇐⇒ m | |a mod m {z
− b mod m}
| |<m

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 19 / 22


Kongruencia
Definı́ció
Azt mondjuk, hogy a ∈ Z kongruens b ∈ Z modulo m ∈ Z+ , ha
m | a − b.
Jelölés: a ≡ b (mod m).

Példa: 7 ≡ −2 (mod 3), 5 ̸≡ 2 (mod 2).


Tétel
a ≡ b (mod m) ⇐⇒ a mod m = b mod m
M.O.T
Biz.: a ≡ b (mod m) ⇐⇒ qa m + a mod m ≡ qb m + b mod m (mod m)
⇐⇒ m | (qa m + a mod m) − (qb m + b mod m) =
0≤ <m 0≤ <m
z }| { z }| {
m(qa − qb ) + (a mod m) − (b mod m) ⇐⇒ m | |a mod m {z
− b mod m}
| |<m
⇐⇒ a mod m − b mod m = 0 ⇐⇒ a mod m = b mod m
(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 19 / 22
Maradékosztályok

Definı́ció
Azon egészek halmaza, amelyek m-mel osztva azonos maradékot
adnak, egy modulo m ∈ Z+ szerinti maradékosztályt alkotnak.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 20 / 22


Maradékosztályok

Definı́ció
Azon egészek halmaza, amelyek m-mel osztva azonos maradékot
adnak, egy modulo m ∈ Z+ szerinti maradékosztályt alkotnak.

Példa: {. . . , −5, −2, 1, 4, 7, . . .} egy modulo 3 szerinti


maradékosztály.
Definı́ció
Egy modulo m szerinti maradékosztály egy tetszőleges eleme
reprezentálja a maradékosztályt.
Jelölés: a + mZ := {. . . , a − 2m, a − m, a, a + m, a + 2m, . . .}.
Jelölés: Z/mZ := {0 + mZ, 1 + mZ, . . . , m − 1 + mZ} (a
maradékosztályok halmaza).

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 20 / 22


Maradékrendszer

Definı́ció
Egy modulo m szerinti teljes maradékrendszer minden modulo m
szerinti maradékosztály pontosan egy reprezentánsát tartalmazza.

Példa: {−5, 0, 2} egy modulo 3 szerinti teljes maradékrendszer.


Jelölés: Zm := {0, 1, . . . , m − 1} (legkisebb nemnegatı́v maradékok).

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 21 / 22


Állı́tás
Ha a ≡ b (mod m)
és c ≡ d (mod m), akkor
1 −a ≡ −b (mod m),
2 a + c ≡ b + d (mod m),
3 ac ≡ bd (mod m).

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 22 / 22


Állı́tás
Ha a ≡ b (mod m)
és c ≡ d (mod m), akkor
1 −a ≡ −b (mod m),
2 a + c ≡ b + d (mod m),
3 ac ≡ bd (mod m).

Következmény: ha a ≡ b (mod m), akkor


1 a + c ≡ b + c (mod m),
2 ac ≡ bc (mod m),
3 an ≡ b n (mod m),
4 f (a) ≡ f (b) (mod m) egész együtthatós polinomokra.

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 22 / 22


Állı́tás
Ha a ≡ b (mod m)
és c ≡ d (mod m), akkor
1 −a ≡ −b (mod m),
2 a + c ≡ b + d (mod m),
3 ac ≡ bd (mod m).

Következmény: ha a ≡ b (mod m), akkor


1 a + c ≡ b + c (mod m),
2 ac ≡ bc (mod m),
3 an ≡ b n (mod m),
4 f (a) ≡ f (b) (mod m) egész együtthatós polinomokra.
Példa: 4n+1 3n+1 5n + 7 · 22n mod 19 =?

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 22 / 22


Állı́tás
Ha a ≡ b (mod m)
és c ≡ d (mod m), akkor
1 −a ≡ −b (mod m),
2 a + c ≡ b + d (mod m),
3 ac ≡ bd (mod m).

Következmény: ha a ≡ b (mod m), akkor


1 a + c ≡ b + c (mod m),
2 ac ≡ bc (mod m),
3 an ≡ b n (mod m),
4 f (a) ≡ f (b) (mod m) egész együtthatós polinomokra.
Példa: 4n+1 3n+1 5n + 7 · 22n mod 19 =?
4n+1 3n+1 5n + 7 · 22n

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 22 / 22


Állı́tás
Ha a ≡ b (mod m)
és c ≡ d (mod m), akkor
1 −a ≡ −b (mod m),
2 a + c ≡ b + d (mod m),
3 ac ≡ bd (mod m).

Következmény: ha a ≡ b (mod m), akkor


1 a + c ≡ b + c (mod m),
2 ac ≡ bc (mod m),
3 an ≡ b n (mod m),
4 f (a) ≡ f (b) (mod m) egész együtthatós polinomokra.
Példa: 4n+1 3n+1 5n + 7 · 22n mod 19 =?
4n+1 3n+1 5n + 7 · 22n ≡ 4 · 4n · 3 · 3n · 5n +7 · 3n = 12 · 60n + 7 · 3n

(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 22 / 22


Állı́tás
Ha a ≡ b (mod m)
és c ≡ d (mod m), akkor
1 −a ≡ −b (mod m),
2 a + c ≡ b + d (mod m),
3 ac ≡ bd (mod m).

Következmény: ha a ≡ b (mod m), akkor


1 a + c ≡ b + c (mod m),
2 ac ≡ bc (mod m),
3 an ≡ b n (mod m),
4 f (a) ≡ f (b) (mod m) egész együtthatós polinomokra.
Példa: 4n+1 3n+1 5n + 7 · 22n mod 19 =?
4n+1 3n+1 5n + 7 · 22n ≡ 4 · 4n · 3 · 3n · 5n +7 · 3n = 12 · 60n + 7 · 3n
≡ 12 · 3n + 7 · 3n = 19 · 3n ≡ 0 (mod 19)
(BCE, Mat. Tsz.) Számı́tástudomány 2020. február 12. 22 / 22

You might also like