1 - Teorija Brojeva lcm i gcd
Kvaliteta:
Avg: 4,0Težina:
Avg: 3,0 Funkcije
i
su najcesci zapis za najveceg zajednickog djeljitelja (Greatest Common Divisor) i najmanjeg zajednickog visekratnika (Lowest Common Multiple).
Primjetimo prvo da je
i
(Jer predznak broja ne mijenja njegove proste djeljitelje)
Funkciju
mozemo racunati mnogo brze nego faktorizacijom, pomocu Euklidovog algoritma.
Euklidov algoritam koristi svojstvo da je
(Tvrdnja 1).
Iz ove tvrdnje jasno vrijedi i da je
,
za bilo koji cijeli broj 
Sam algoritam izgleda ovako:
ako 
ako 
ako 
Tako na primjer imamo
O funkciji
se nema sto pametno reci osim jednakosti break
(Tvrdnja 2)
Dokaz tvrnje 1
Neka je
najveci prirodni broj takav da
i
(dakle,
).
Ocito je da
tako da
je barem
.
Pretpostavimo da postoji
takav da
i
i
.
Tada
,
, a
je naveci broj koji djeli i
i
. Kontradikcija, dakle takav
ne postoji.
Dokaz tvrdnje 2
Zapisimo
s time da
.
Znamo da
to jest
i
to jest
.
Kako je
najmanji zajednicki visekratnik, a znamo da je barem
, dobivamo
sto se i dobiva uvrstavanjem u formulu


Primjetimo prvo da je


Funkciju

Euklidov algoritam koristi svojstvo da je

Iz ove tvrdnje jasno vrijedi i da je



Sam algoritam izgleda ovako:






Tako na primjer imamo

O funkciji


Dokaz tvrnje 1
Neka je




Ocito je da



Pretpostavimo da postoji




Tada






Dokaz tvrdnje 2
Zapisimo




Znamo da




Kako je




Izvor: Nepoznato
Komentari:
lovro, 31. prosinca 2014. 01:23
Poštovanje,
Prvo bih upozorio na tipfeler u drugom redu, jer prije obrazloženja "predznak broja ne mijenja njegove proste djeljitelje" ne smije pisati gcd(a,b) = gcd(|a|,|a|). Drugo, dokaz druge tvrdnje je nejasan. Nisu stavljeni zarezi između gcd(a,b) = d & a= dk, i isprva sam mislio da piše gcd(a,b) = d*a = ... Također, nema obrazloženja zašto je gcd(k,l) = 1. Zgodno bi bilo makar neko malo uputstvo, tipa "u slučaju kada ne bi bilo gcd(k,l) = 1, ne bi moglo vrijediti d = gcd (a,b)." Osim tih par sitnica, lijep rad.
Lovro
Prvo bih upozorio na tipfeler u drugom redu, jer prije obrazloženja "predznak broja ne mijenja njegove proste djeljitelje" ne smije pisati gcd(a,b) = gcd(|a|,|a|). Drugo, dokaz druge tvrdnje je nejasan. Nisu stavljeni zarezi između gcd(a,b) = d & a= dk, i isprva sam mislio da piše gcd(a,b) = d*a = ... Također, nema obrazloženja zašto je gcd(k,l) = 1. Zgodno bi bilo makar neko malo uputstvo, tipa "u slučaju kada ne bi bilo gcd(k,l) = 1, ne bi moglo vrijediti d = gcd (a,b)." Osim tih par sitnica, lijep rad.
Lovro