Naziv dva broja, Euklidski algoritam. Euklidski algoritam - značaj najvećeg dijaloga

1.1 Zastosuvannya Euklidski algoritam

Poput izlizanog robota, Euklidov algoritam daje mnogo više, dno novog je zatečeno. Sa ove tačke gledišta, jasno je, na primjer, da sukupníst dílnív a í b zbígaêê íz sukupníst dílnív (a, b). Više vina daje praktičan način poznavanja brojeva u í v íz Z (inače, kao i uvijek, iz teoreme iz stava 2) tako da

rn = au + bv = (a, b).

Deisno, iz jezika ekvivalencije mayo:

r n = r n -2 - r n -1 q n = r n -2 - (r n -3 - r n -2 q n -1) q n =...

(Idemo uzduž lanca jednakosti odozdo uzbrdo, viseći sa kože iskoračujući ravnomjernost ekscesa i predstavljajući jogu u virazu, što je i do sada željeno)

Au + bv = (a, b).

Nesumnjivo, Euklid je opisao postupak označavanja globalnog svijeta dvije vrijednosti stotog broja (a globalni svijet dva prirodna broja, očito je najveći san) pronađen još prije Euklida. Ovako su to znali GCD i drevni kineski matematičari. Ja samo one da je ovaj postupak postao popularan u eri same renesanse "Kup je dao ime Euklidskom algoritmu"

Za sve je bolje, iz trgovačke prakse starih trgovaca, da je bilo potrebno izjednačiti razliku u broju brojeva. Kako, na primjer, uporediti brojeve 3703700 i 1234567 i brojeve 22962965 i 7654321? U cjelini prirodna bula je bila test prepoznavanja koliko se puta manje ulaže u više. Lako je pogrešno protumačiti da je 3703700 = 2 1234567 + 1234566 i 22962965 = 3 7654321 + 2. Sada je jasno da je proširenje od 3703700 do 1234567 manje229625.

2,99999919 <= 3, 000000261,

Oldtajmeri su objasnili u davnašnjem izrazu.

Yakby je imao priliku upariti najbliže brojeve, na primjer, í, tada bi brojevi mogli biti sklopivi:

71755875 = 61735500 + 10020375;

61735500 = 6 10020375 + 1613250;

10020375 = 6 1613250 + 340875;

1613250 = 4 340875 + 249750;

340875 = 249750 + 91125;

249750 = 2 91125 + 67500;

91125 = 67500 + 23625;

67500 = 2 23625 + 20250;

23625 = 20250 + 3375;

20250 = 6 3375.

Euklidski algoritam ovdje dozvoljava GCD brojeva 71755875 i 61735500, jednakih 3375 i distribuciju omjera od 71755875 prema 61735500 za lancet:

Čini se da je Euklidov algoritam ekvivalentan trenutnoj proceduri dekompozicije brojeva u Lanzugove razlomke i više, omogućavajući vam da "zaokružite" plavu boju brojeva, tobto. zamijenite dríb íz velikim banerom na luku blizu novog brib íz manjim banerom. Dobro, viraz

jednak razlomku, u modernoj matematici se naziva "prikladnim razlomkom"

Jasno je šta

b=1+< 1 + и б=1 + > 1+ = ,

oskolki

Smjernice povnyannya su bile vikonano u III čl. BC Aristarh sa Samosa u raspravi "O viđenju i pomirenju Mjeseca i Sina".

Odmah je jasno da su najefikasniji razlomci distribucije bilo kojeg (racionalnog ili iracionalnog) broja u lancete razlomke najbolje racionalne aproksimacije ovog broja.

Algoritmi sa bogatim terminima

Euklidov algoritam je metoda pronalaženja najvećeg divljeg broja od dva cijela broja i pronalaženja dva polinoma u jednoj zmiji...

Jedan od najnovijih matematičkih algoritama je Euklidski algoritam za pronalaženje najveće zajedničke dileme dva pozitivna broja. Os joge je najjednostavniji izgled. Dajte data dva cela broja. Kao smrad jednak...

Analiza Euklidovog algoritma u Euklidskim prstenovima

Prvo, idemo na analizu Euklidovog algoritma, pogledajmo Fibonačijeve brojeve. Suština Fibonačijevog niza leži u činjenici da će, počevši od 1.1, doći sljedeći broj koji će sabrati dva prethodna. 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 ……

Istorija formiranja koncepta "algoritma". Pronalaženje kućnih algoritama u istoriji matematike

Euklidov algoritam na univerzalan način koji vam omogućava da izračunate najveći mogući broj od dva pozitivna cijela broja. Opis algoritma za važnost GCD podjela: 1. Više je deljivo sa manjim 2. Kako podijeliti bez viška.

Broj cijelih Gausovih brojeva

Dostojni smo imena najvećeg spavača u gradu. GCD dva Gausova broja je takav dnevnik spavanja, koji se može podijeliti na bilo koji drugi dilnik za spavanje. Ja u velikom broju...

Matematičke osnove sistema suvišnih časova

Pogledajmo primjer. Neka je p = 6. Zatim postoji šest klasa množenja cijelih brojeva za modul 6: r \u003d 0; r = 1; r = 2; r=3; r=4; r=5; gdje r označava višak u podjeli cijelog broja sa 6...

Metodika za razvoj bogatih segmenata u fakultativnoj nastavi u starijim razredima srednje škole

Neka se prsten bogato artikulira. Imenovanje 1: Idemo i ako je polinom, onda je višak u rozpodílu jednak nuli, tada se naziva dilnik bogatog pojma i označava se: () ...

Glavne faze formiranja strukture moderne matematike

U III veku pre nove ere, u Oleksandriji, pojavila se istoimena Euklidova knjiga, u ruskom prevodu "Klipi". Pogled Latinski naziv"Cob" je postao termin "elementarna geometrija". Bez obzira na te...

Na teritoriji ovog mesta nalazi se N fabrika i prodavnica u koje se isporučuju proizvodi iz ovih fabrika. Kao rezultat istraživanja, bilo je moguće dizajnirati liniju za polaganje komunikacija i procijeniti svestranost njihove konstrukcije za kožne linije.

Zastosuvannya metode u diskretnoj matematici ekonomije.

Firme koje se bave transportom robe moraju dostaviti robu od Suifenkhea do Khabarovska, osim toga, rutama koje se mogu koristiti za isporuku kilke. Vídstan mízh Suifenkhe i místom 2 skladište 15 km.

Razvoj koncepta "Prostír" i neeuklidske geometrije

Posebne metode za integraciju racionalnih virusa

Neka je potrebno poznavati GCD bogato pojmovima. Nemojte obmezhuyuchi pospanost, uzmimo u obzir da koraci nisu veći od koraka. Bogati član je zamisliv na prvi pogled: de - višak u mahuni ruže na. Tada je korak manji od koraka dilnika. Dali...

Teorija viškova

Teorija viškova

Imenovanje. Broj d?Z, koji istovremeno dijeli brojeve a, b, c, ..., k ??Z, naziva se vrućim dilnikom ovih brojeva. Najveći d sa takvom snagom naziva se najveći spavač. Signatura: d = (a, b, c, ..., k). Teorema. Yakscho (a, b) = d...

Teorija viškova

Neka je potrebno transkribovati linearno diofantovsko poravnanje: ax + by = c , de a , b , c ?? Z ; a i b nisu nula. Pokušajmo trepnuti, čudeći se cijeni. Neka (a, b) = d. Tada je a = a 1 d; b = b 1 d i jednako izgleda ovako: a 1 d x + b 1 d y y \u003d c, onda. d (a 1 x + b 1 y) = c...

Euklidski algoritam

Najveći dilnik za spavanje

Pogledajmo sljedeći problem: potrebno je sastaviti program za označavanje najvećeg divljeg dnevnika (ND) dva prirodna broja.

Hajde da izračunamo. Najveća konkatenacija dva prirodna broja je najveći prirodni broj, jer smrad dijeli nacionalno. Na primjer, brojevi 12 i 18 imaju sljedeće dvojnike: 2, 3, 6. Najveće divlje vrijeme je broj 6. Piše se ovako:

gcd(12, 18) = 6.

Značajno je da su nalazi jaka M u N. Izjava o problemu izgleda ovako:
Dato: M, N
znati: GCD(M, N).

Na ovaj način nema potrebe za dodatnom matematičkom formalizacijom. Sama postavka zadatka ima formalni matematički karakter. Ne koristimo formule za izračunavanje GCD(M, N) za vrijednosti M i N. Ali da završimo davno, mnogo prije pojave EOM-a, koristili smo algoritamski način da izvršimo ovaj zadatak . Nazvano vino Euklidski algoritam .

Ideja za Euklidov algoritam

Ideja o tome koji algoritam se zasniva na ovoj moći, koja je M>N, onda

GCD (M, N) = GCD (M - N, N).

Inače, očigledno, GCD dva prirodna broja je skuplji GCD njihove pozitivne razlike (modula njihove razlike) i manjeg broja.

Lako je donijeti svoju moć. Hajde, spavaj dilnik M u N (M> N). Tse znači da je M = mK, N = nK, gdje su m, n prirodni brojevi, štaviše, m > n. Todi M - N = K (m - n), zvezde su očigledne, pošto je K dilnik broja M - N. Takođe, sve konkatenacije brojeva M i N su dilniki iste cene M - N, pored toga, najveći začin.

Još jedna očigledna moć:

GCD(M, M) = M.

Za "ručnu" rahunku, Euklidov algoritam izgleda ovako:

1) ako su brojevi jednaki, onda ih uzmite kao da su tačni, u suprotnom nastavite pobjednički na algoritam;

2) zameniti veću količinu razlikom između većeg i manjeg broja;

3) okrenite se da vidite tačku 1.

Pogledajmo algoritam sa zadnjice M=32, N=24:

Struktura algoritma je petlja na čekanju sa dodatkom otklanjanja grešaka. Ciklus se ponavlja sve dok vrijednosti M i N ne budu jednake jedan prema jedan. U slučaju više od dva, vrijednost se zamjenjuje istom cijenom.

A sada pogledajte tabelu praćenja algoritma za vanjske vrijednosti M = 32, N = 24.

Croc Operacija M N Umov
1 uvod M 32
2 uvod N 24
3 M ¹ N 32 № 24, dakle
4 M>N 32>24 tako
5 M:=M-N 8
6 M ¹ N 8 № 24 tako
7 M>N 8>24, br
8 N:=N-M 16
9 M ¹ N 8 № 16 tako
10 M>N 8>16, br
11 N:=N-M 8
12 M ¹ N 8 № 8, br
13 visnovok M 8
14 kraj

Rezultat viishova ima tačan rezultat.

Program u AZ i Pascal

Napišimo algoritam u AI, a program u Pascalu.

Upit i zadatak

1. Preuzmite program Evklid na svoj računar. Test íí̈ na vrijednostima M = 32, N = 24; M=696, N=234.

2. Sastavite program za izračunavanje najvećeg divljeg dnevnika od tri broja, koristeći sljedeću formulu:

GCD(A, B, H) = GCD(GCD(A, Y), H).

3. Dodajte program za izračunavanje najmanjeg zajedničkog višekratnika (LCM) dva broja, koristeći formulu:

A × B = GCD (A, B) × LCM (A, B).

  • Učite iz razumijevanja "Euklidovog algoritma".
  • Naučite saznati najčešće teme pomoću različitih matematičkih metoda.

Sakrivena lekcija

Razumijevanje Euklidovog algoritma

To je jedno od najstarijih matematičkih djela, koje postoji više od 2000 godina.

Euklidov algoritam pronalazaka za znanje najveći spavač par cijelih brojeva.

Najveći dilnik za spavanje

Najveći dilnik za spavanje(GCD) - cijeli broj, podijeliti bez viška dva broja i podijeliti bez viška na bilo koji drugi dilnik ovih brojeva.

Drugim riječima, isto veliki broj, na jaku možete podijeliti dva broja, za koje možete pronaći dupli dilnik.

GCD algoritam znanja

Opis algoritma o značaju najvećeg zloglasnog dilnika ispod

Više za dijeljenje za manje

Ako dijelite bez viška, onda manje i ê najveći spavač. Sada se morate odjaviti ciklus

Ako je višak, onda se više zamjenjuje viškom u slučaju podjele

Pređi na tačku 1.

zadnjica:

Pronađite najveći ležaj za 300 i 180.

300/180 = 1 (višak 120)

180/120 = 1 (višak 60)

120/60 = 2 (višak 0).

Kínets: Najveći ležaj je 6.

AT ciklusa"a" ili "b" je fiksni višak u jazu. Ako nema viška (ne znamo u "a" vinu ili "b", onda je to ogorčenje oprati), tada se ciklus završava.

Na primjer, prikazuje se zbir "a" i "b", onima koji ne znaju, najveći san se bilježi u bilo kojoj promjeni, a u jednom od njih je 0, što ne doprinosi rezultatu suma.

Algoritam za poznavanje GCD

Opis algoritma za prepoznavanje najvećeg zloglasnog dilnika u vidnímannyam

Manje vidljivi

Ako unesete 0, tada su brojevi jednaki jedan prema jedan i najvećem spavaču. Izađite iz ciklusa

Ako rezultat pogleda nije jednak 0, tada se veći broj zamjenjuje rezultatom pogleda

Pređi na tačku 1.

zadnjica: Znati brojeve 300 i 180.

Kínets: Najveći vrući dilnik brojeva 300 i 180 - 60.

Kao način upoznavanja najvećeg globalnog svijeta dva vjetra (metoda naizmjeničnog vida) poznat je i Pitagorejcima.

Sa znanjem o najvećem globalnom svijetu dvoje vídrízkív nađu se na takve načine, što je više.

Operacija ispod je previše zamijenjena svojim geometrijskim parnjakom: manjim vídrízok stavite veći stil vremena, moguće je uložiti više novca, a linija većeg okna (i viška ruže) stavlja se na manji vučić.

Yakshcho vídrízki aі b Ukratko, onda će preostali višak koji nije nula dati najdublji svijet vjetrova.

U slučaju različite nesmornosti, niz viškova koji nisu nula biće neiscrpan.

zadnjica:

Kao križ, uzimamo bik AB i AC jednako-femoralnog trikota ABC, u kojem je A = C = 72 °, B = 36 °.

Kao i prvi višak, oduzimamo AD (CD-simetralu kuta C), a, kako je lako bačiti, niz i nula ekscesa biće neiscrpni.

Također, podjeli AB i AC se ne mogu upariti.

Napajanje

1. Šta je Euklidski algoritam?

2. Koji je najveći spavač?

Spisak vikorista džerel

1. Lekcija na temu: "Euklidov algoritam", Korchoviy P. I., m. Lutsk

2. Shchetnikov A. I. Euklidov algoritam i neprekinuti razlomci. - Novosibirsk: ANT, 2003

3. Countinho S. Uvod u teoriju brojeva. Algoritam RSA, - M., 2001.

4. Kostrikin A.I. Uvod u algebru, - M., 2000


Uredio i dodao vikladach Kijevski nacionalni univerzitet nazvan po. Taras Shevchenko Solovyovim M. S.

Vežbano tokom lekcije

Korchoviy P.I.

Solovjov M. Z.

Stavite hranu moderno osvetljenje, možete predstaviti ideju ili riješiti problem Forum o rasvjeti

Široko proširen u elektronskoj trgovini. Također, algoritam je pobjednički u slučaju varijanse linearnih diofantinskih jednakosti, u slučaju nestalnih razlomaka, u Sturmovoj metodi. Euklidov algoritam je glavni alat za dokazivanje teorema u modernoj teoriji brojeva, na primjer, kao što je Lagrangeova teorema, zbir četiri kvadrata i glavna teorema aritmetike.

Encyclopedic YouTube

    1 / 5

    ✪ Math. Prirodni brojevi: Euklidov algoritam. Foxford online centar za obuku

    ✪ Euklidski algoritam

    ✪ Euklidski algoritam, Švedski način znam NID

    ✪ Matematika 71. Najveći dnevnik spavanja. Euklidov algoritam - Akademija nauka

    ✪ 20 dok Euklidski algoritam petlje Python

    Titlovi

istorija

Drevni grčki matematičari nazivali su svoj algoritam ἀνθυφαίρεσις ili ἀνταναίρεσις - "Vaêmne vídnímannya". Euklid nije prepoznao ovaj algoritam, tako da je zagonetka o novom već tu Topike Aristotel. U "Klipovima" Euklidovih opisa dva - u VII knjizi za značaj najvećeg divljeg dnevnika dva prirodna broja, au X knjizi za značaj najvećeg divljeg svijeta od dvije homogene vrijednosti. U oba pogleda dat je geometrijski opis algoritma za prepoznavanje "paklenog svijeta" dvije grane.

Opis

Euklidov algoritam za cijele brojeve

Hajde a (\displaystyle a)і b (\displaystyle b)- cijeli brojevi broja koji u isto vrijeme nisu jednaki nuli, taj niz brojeva

a > b > r 1 > r 2 > r 3 > r 4 > … > rn (\displaystyle a>b>r_(1)>r_(2)>r_(3)>r_(4)>\ \dots \ >r_(n))

zaslužan tim scho skin r k (\displaystyle r_(k))- sav višak prethodnog broja podijeljen je na frontu, a višak je podijeljen na ostatak nacije, tobto:

a = b q 0 + r 1 (stil prikaza a=bq_(0)+r_(1),) b = r 1 q 1 + r 2 (\displaystyle b=r_(1)q_(1)+r_(2),) r 1 = r 2 q 2 + r 3 (\displaystyle r_(1)=r_(2)q_(2)+r_(3),) ⋯ (\displaystyle \cdots) r k − 2 = r k − 1 q k − 1 + r k , (\displaystyle r_(k-2)=r_(k-1)q_(k-1)+r_(k),) ⋯ (\displaystyle \cdots) r n − 2 = r n − 1 q n − 1 + r n , (\displaystyle r_(n-2)=r_(n-1)q_(n-1)+r_(n),) r n − 1 = r n q n . (\displaystyle r_(n-1)=r_(n)q_(n).)

Todi GCD( a, b), najveće spavače aі b, draga r n, preostali član niza koji nije nula.

Ísnuvannya takav r 1 , r 2 , ..., r n m na n za sve m ja ceo n≠ 0, dovodi se indukcijom za m.

Ispravnost koji algoritam treba sljedeća dva koraka:

  • Hajde a = bq + r onda je gcd (a, b) = gcd (b, r).

dokaz

  • GCD( r, 0) = r za bilo koji različit od nule r(Oskílki 0 je podijeljen na cijeli broj, krim nula).

Geometrijski euklidski algoritam

Dozvolite mi da vam dam dva vídrízki dozhini aі b. Možemo vidjeti manji od velikog i zamijeniti veći s odsječenom maloprodajom. Ponovite ovu operaciju, dokovi neće biti jednaki. Kako se ispostavilo, tada ćemo napustiti bitke svijeta, a ostatak povlačenja vjetrova svijeta će biti najveći. Ako nema improviziranog pristupa, onda je proces neoprostiv. Na taj način, algoritam opisa po Euklidu i realizuje se uz pomoć šestara i linije.

Butt

Za ilustraciju, Euklidov algoritam će se koristiti za pronalaženje GCD a= 1071 ta b\u003d 462. Za uho klipa 1071, smatra se višestrukim od 462, sve dok se ne uzima manje, niže 462. Razno udvostručuje 462, ( q 0 = 2), višak od 147:

1071 = 2x462+147.

Potim víd 462 je višestruki od 147, dok ne uzmemo razliku manje, niže 147. Moja greška je trichí víbrati 147 ( q 1 \u003d 3), višak íz višak 21:

462 = 3x147 + 21.

Potim víd 147 je višestruki od 21, dok ne uzmemo razliku manju od 21. Krivi smo za ovo još jednom 21 ( q 2 \u003d 7), koji se prelijeva bez viška:

147 = 7x21 + 0.

Ovim redoslijedom, niz a > b > r 1 > r 2 > r 3 > … > r n za ovaj konkretan vipad može se vidjeti na sljedeći način:

1071 > 462 > 147 > 21.

Ostali dijelovi su jednaki nuli, algoritam se završava brojem 21 í GCD(1071, 462) = 21.

U tabelarnom obliku, kutije su bile ovako:

Zastosuvannya

Proširenja Euklidovog i Bezoutovog algoritma

Formule za r i (\displaystyle r_(i)) može se prepisati ovako:

r 1 = a + b (− q 0) (\displaystyle r_(1)=a+b(-q_(0))) r 2 = b − r 1 q 1 = a (− q 1) + b (1 + q 1 q 0) (\displaystyle r_(2)=b-r_(1)q_(1)=a(-q_( 1))+b(1+q_(1)q_(0))) ⋮ (\displaystyle \vdots) NID (a, b) = r n = a s + b t (stil prikaza (a, b) = r_(n) = as + bt)

Evo sі t brojevi. Pojava najvećeg, najzloglasnijeg dilnika naziva se „Bezu“, a brojevi sі t- Koeficijenti? Bezu. Spivvídnoshennia Bezu je ključ za dokazivanje Lemija, Euklida i glavne teoreme, aritmetike.

Lance fractions

Euklidov algoritam za postizanje bliskih pogodaka sa lancetnim frakcijama. Podešavanje a/b prihvatanje prijave sa lancetom:

a b = [q 0; q 1 , q 2 , ⋯ , q n ] (\displaystyle (\frac (a)(b))=).

S kim je lancer drip bez ostatka clana skuplji za povecanje bezuovih koeficijenata t/s, snimljeno sa znakom minus:

[q0; q 1 , q 2 , ⋯ , q n − 1 ] = − t s (\displaystyle =-(\frac (t)(s))).

Niz jednakosti, koji specificira Euklidski algoritam, može se prepisati u obliku:

ab = q 0 + r 0 bbr 0 = q 1 + r 1 r 0 r 0 r 1 = q 2 + r 2 r 1 ⋮ rk − 2 rk − 1 = qk + rkrk − 1 ⋮ r N − 2 r N − 1 = q N (\displaystyle (\begin(aligned)(\frac (a)(b))&=q_(0)+(\frac (r_(0))(b))\\(\frac (b) ) )(r_(0)))&=q_(1)+(\frac (r_(1))(r_(0)))\\(\frac (r_(0))(r_(1))) & =q_(2)+(\frac (r_(2))(r_(1)))\\&()\ \vdots \\(\frac (r_(k-2))(r_(k-1) ) ))&=q_(k)+(\frac (r_(k))(r_(k-1)))\\&()\ \vdots \\(\frac (r_(N-2))( r_(N-1)))&=q_(N)\end(poravnano)))

Ostatak dodanoka na desnom dijelu ljubomore je jedan spasonosna vrednost lijevom dijelu ofanzivne linije. Dakle, prva dva jednaka mogu se kombinirati u obliku:

ab = q 0 + 1 q 1 + r 1 r 0 (\displaystyle (\frac(a)(b))=q_(0)+(\cfrac (1)(q_(1)+(\cfrac (r_( 1))(r_(0))))))

Treći ekvivalent može biti vikoristan, da zamijeni baner viraza r 1 /r 0 , uzmi:

ab = q 0 + 1 q 1 + 1 q 2 + r 2 r 1 (\displaystyle (\frac(a)(b))=q_(0)+(\cfrac (1)(q_(1)+(\ ) cfrac (1)(q_(2)+(\cfrac (r_(2))(r_(1)))))))))

Preostali viškovi r k /r k−1 se može promijeniti radi uzastopne ofanzivne ekvivalencije, i tako dalje do ostatka ekvivalencije. Rezultat je lanzugian dribling:

a b = q 0 + 1 q 1 + 1 q 2 + 1 ⋱ + 1 q N = [q 0; q 1 , q 2 , … , q N ] (\displaystyle (\frac (a)(b))=q_(0)+(\cfrac (1)(q_(1)+(\cfrac (1)(q_) ) (2)+(\cfrac (1)(\ddots +(\cfrac (1)(q_(N)))))))))))))

Ažurirani Euklidski algoritam za bogate pojmove

Euklidski algoritam i proširenja Euklidovog algoritma prirodno se zagalnyuêtsya na prstenu. k[x] u vidu jedne promjene na velikom polju k, Oskílki za takve mega-članove, operacija je dodijeljena pododjelu iz viška. Iza Euklidovog algoritma za polinome, slično Euklidskom algoritmu za cijele brojeve, nalazi se niz polinomskih prelijevanja (PRS).

zadnjica za kíltsya Z[x]

Neka nastavak (f) za imenovanja - GCD koeficijenata polinoma f (x) iz Z [x] - zmist bogati član. Privatni pogled f(x) naziva se cont(f) primitivni dio bogati termin f(x) i dodjeljuje mu se primpart(f(x)). Qi oznaka je potrebna za oznaku GCD dva bogata člana p 1 (x)і p 2 (x) kílci Z[x]. Za polinome nad cijelim brojevima vrijedi sljedeće:

C o n t ((\displaystyle cont() NODNOD ( c o n t (p 1 (x)) , c o n t (p 2 (x)) ) , (\displaystyle \(nastavak(p_(1)(x)),nastavak(p_(2)(x))\),)

P r i m p a r t ((\displaystyle primpart() NID ( p 1 (x) , p 2 (x) )) = (\displaystyle \(p_(1)(x),p_(2)(x)\))=) NID ( p r i m p a r t (p 1 (x)) , p r i m p a r t (p 2 (x)) ) . (\displaystyle \(primpart(p_(1)(x)),primpart(p_(2)(x))\).)

Na ovaj način, zadatak traženja GCD dva prilično bogata člana može se svesti na zadatak traženja GCD primitivnih polinoma.

Hajde da imamo dva primitivna bogata člana p 1 (x) í p 2 (x) z Z[x], za koje postoji odnos između njihovih koraka: deg (p 1 (x)) = m í deg (p 2 (x) )) = n, m > n. Podil polinomi od previše prenose tačnu dilemu starijeg koeficijenta podijeljenog sa višim koeficijentom dilnika, u isto vrijeme rozpodil íz previše vikonati nemoguće. Stoga, da biste uveli algoritam pseudo-detalja, koji vam i dalje omogućava da oduzmete pseudo-djelimične i pseudo-viškove (prem), yakí sami lažu bezlične bogate pojmove preko cijelih brojeva.

Pod pseudopodjelama, razumljivo je da je najviše podjela polinomskog množitelja p 1 (x) (\displaystyle p_(1)(x)) na (l c (p 2 (x))) m n + 1 (\displaystyle (lc(p_(2)(x)))^(m-n+1)), onda

L c (p 2 (x)) m − n + 1 p 1 (x) = p 2 (x) q (x) + r 2 (x) , deg ⁡ (r (x))< deg ⁡ (p 2 (x)) , {\displaystyle lc(p_{2}(x))^{m-n+1}p_{1}(x)=p_{2}(x)q(x)+r_{2}(x),\deg(r(x))<\deg(p_{2}(x)),}

de q (x) (\displaystyle q(x))і r(x) (\displaystyle r(x))- naizgled pseudo-parcijalni i pseudo-višak.

otzhe, p 1 (x) , p 2 (x) ∈ Z [ x ] (\displaystyle p_(1)(x),p_(2)(x)\in Z[x]), štaviše stepen ⁡ (p 1) = n 1 ≥ stepen ⁡ (p 2) = n 2 (\displaystyle \deg(p_(1))=n_(1)\geq \deg(p_(2))=n_(2) ). Tada se Euklidski algoritam sastoji od sljedećih koraka:

1. Izračun GCD zmístív:

C:= (\displaystyle c:=) NID ( c o n t (p 1) , c o n t (p 2) ) (\displaystyle \(nastavak(p_(1)),nastavak(p_(2))\)).

2. Proračun primitivnih elemenata:

P 1 '(x): = p r i m p a r t (p 1 (x)); (\displaystyle p_(1)"(x):=primpart(p_(1)(x));)

P 2 '(x) := p r i m p a r t (p 2 (x)) . (\displaystyle p_(2)"(x):=primpart(p_(2)(x)).)

3. Pobudova sekvenca polinomskih viškova:

P 1 ′ (x) , (\displaystyle p_(1)"(x),)

P 2 ′ (x) , (\displaystyle p_(2)"(x),)

P 3 (x) := prem (p 1 ′ (x) , p 2 ′ (x)) , (\displaystyle p_(3)(x):=prem(p_(1)"(x),p_(2) ) )"(x))))

P 4 (x) := prem (p 2 ′ (x) , p 3 (x)) , (\displaystyle p_(4)(x):=prem(p_(2)"(x),p_(3)) (x)))

P 5 (x) := prem (p 3 (x) , p 4 (x)) , (\displaystyle p_(5)(x):=prem(p_(3)(x),p_(4)(x) ))))

. . . (\displaystyle...)

P h (x) := p r em (p h − 2 (x) , p h − 1 (x)) . (\displaystyle p_(h)(x):=prem(p_(h-2)(x),p_(h-1)(x)).)

Algoritam Euklidovog poznavanja GCD (najveći uspavani dilnik)

Zadana su dva cijela broja i. Potrebno je poznavati njihov spavajući dilnik, tobto. većina, kao dilnik odjednom i, i. Engleski moj "najveći zajednički djelitelj" je napisan "najveći zajednički djelitelj", a da proširimo njegovo značenje ê:

(ovdje simbol "" označava autentičnost, pa "" znači "podijeliti")

Ako je jedan od brojeva jednak nuli, a u suprotnom nuli, najveći spavač, uzima se od zadatog broja, ako postoji drugi broj. Ako su uvredljivi brojevi jednaki nuli, rezultat neimenovanja (ako se radi o beskonačno velikom broju), u ovom slučaju ćemo najveći broj staviti jednak nuli. Stoga možemo govoriti o takvom pravilu: ako je jedan od brojeva jednak nuli, tada je najveći mogući broj jednak drugom broju.

Euklidski algoritam, Gledajući u nastavku, rješava se problem pronalaženja najvećeg otvorenog dilnika od dva broja i za .

Ovaj algoritam je raniji od opisa u knjizi Euklida "Kub" (oko 300. godine prije nove ere), iako, koliko god je to moguće, ovaj algoritam može biti i raniji.

Algoritam

Sam algoritam je super jednostavan i opisan je sljedećom formulom:

Implementacija

int gcd (int a, int b) (ako (b == 0) vrati a; inače vrati gcd (b, a % b) ;)

Kao ternarni C++ pametni operator, algoritam se može napisati kraće:

int gcd (int a, int b) ( return b ? gcd (b, a % b) : a; )

Nareshti, navigabilni i nerekurzivni oblik algoritma:

int gcd (int a, int b) ( dok (b) ( a % = b; swap (a, b) ; ) vrati a; )

Dokaz o ispravnosti

Uz dužno poštovanje, od iteracije kože Euklidovog algoritma, još jedan argument se dramatično mijenja, također, krhotine vina nisu negativne, tada Euklidski algoritam da se završi.

Za dokazati tačnost moramo pokazati šta je za be-yakikh >.

Pokazuje se da je vrijednost koja stoji na lijevoj strani jednakosti podijeljena desnom stranom desne, a vrijednost na desnoj je podijeljena s troškom lijeve. Očigledno je da je značajno što se krše prava dijela kako bi se donijela ispravnost Euklidovog algoritma.

Značajno . Todi, za imenovanje, taj.

Aletodí zvídsi cvileći:

Otzhe, zgaduyuchi čvrstinu, uzimamo sistem:

Uskoro ćemo doći do jednostavne činjenice: ako postoje tri broja vikonano: i, onda vikonuêtsya i:. Naša situacija zahteva:

Abo, koji predstavlja zamjenika imenovanog jaka, uzet ćemo:

Izveli smo i pola dokaza: oni su pokazali da se dijeli lijevi dio zakona. Druga polovina dokaza se izvodi na isti način.

Sat robota

Procjenjuje se sat rada za algoritam Lamyjev teorem, kako bi se uspostavila čudesna veza sa Euklidovim algoritmom i Fibonačijevim nizom:

Yakshcho > za deyakogo , tada je Euklidov algoritam vikonaê troch više od rekurzivnog viklikív.