1 / 8

Divu veselu skaitļu lielākā kopīgā dalītāja (LKD) vērtības noteikšana

Eiklīda algoritms. Divu veselu skaitļu lielākā kopīgā dalītāja (LKD) vērtības noteikšana. Daugavpils Valsts ģimnāzija Edgars Pudulis. Nedaudz no vēstures faktiem.

tirzah
Download Presentation

Divu veselu skaitļu lielākā kopīgā dalītāja (LKD) vērtības noteikšana

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Eiklīda algoritms Divu veselu skaitļu lielākā kopīgā dalītāja (LKD) vērtības noteikšana Daugavpils Valsts ģimnāzija Edgars Pudulis

  2. Nedaudz no vēstures faktiem Eiklīds šī algoritma uzdevumu sākotnēji formulēja ģeometriski – kā divu nogriežņu lielākā kopīgā mēra atrašanu. Tādā gadījumā no garākā nogriežņa tika atņemts īsākais, tad atlikums tika atņemts no īsākā nogriežņa u.t.t. Šādā formā algoritms parādījās Eiklīda "Elementos" apmēram 300 g. p.m.ē. Tomēr, iespējams, ka tas jau bija zināms līdz pat 200 gadiem agrāk. Piemēram, Aristotelis devis mājienu par šo algoritmu savā grāmatā "Tēmas" (Τοπικων/Topica) apmēram 330 g. p.m.ē.

  3. Algoritma darbības princips Eiklīda algoritms skaitļu teorijā ir paņēmiens divu veselu skaitļu lielākā kopīgā dalītāja (LKD) atrašanai, vispirms nepilni izdalot lielāko skaitli ar mazāko un tad katrā nākamajā solī iepriekšējās darbības dalītāju savukārt dalot ar iegūto atlikumu. LKD ir pēdējais iegūtais nenulles atlikums. Ievērojami ir tas, ka algoritmam nav nepieciešams sadalīt skaitļus pirmreizinātājos, kā arī tas, ka šis ir viens no vecākajiem zināmajiem algoritmiem.

  4. Darbības piemērs • LKD(336,287) = ? • 336 : 287 = 1 atl. 49 • 287 : 49 = 5 atl. 42 • 49 : 42 = 1 atl. 7 • 42 : 7 = 6 atl. 0 • LKD(336,287) = 7

  5. Algoritma pamatelementi uses crt; var pirmais, otrais,atlikums:integer; Begin write('Ievadiet pirmo skaitli ');read(pirmais); write('Ievadiet otro skaitli ');read(otrais); {LOĢISKĀ DAĻA} write(otrais); readln; end. Definējam trīs mainīgos elementus – divus skaitļus un vienu vērtību, kas saturēs šo divu skaitļu dalījuma atlikumu. Ievadām skaitļu vērtības

  6. Algoritma loģiskā daļa Tik ilgi, kamēr pirmo skaitli dalot ar otro atlikums nav 0, dari: while (pirmais mod otrais <>0) do begin atlikums:=pirmais mod otrais; pirmais:=otrais; otrais:=atlikums; end; Aprēķinām atlikumu Par dalāmo izvēlamies iepriekšējo otro skaitli Par dalītāju izvēlamies iepriekšējo atlikumu

  7. Algoritms uses crt; var pirmais, otrais,atlikums:integer; Begin write('Ievadiet pirmo skaitli ');read(pirmais); write('Ievadiet otro skaitli ');read(otrais); while (pirmais mod otrais <>0) do begin atlikums:=pirmais mod otrais; pirmais:=otrais; otrais:=atlikums; end; write(otrais); readln; end. Kad tiek dalīts pēdējo reizi un atlikums ir 0, mainīgais otrais satur pēdējo atlikuma vērtību, kas arī ir šo skaitļu LKD.

  8. Paldies par uzmanību!

More Related