www.wikidata.uk-ua.nina.az
Rozshirenij algoritm Evklida ce rozshirennya algoritmu Evklida Okrim znahodzhennya najbilshogo spilnogo dilnika dlya cilih a i b yak ce robit algoritm Evklida vin takozh znahodit cili x i y odne z yakih zazvichaj vid yemne yaki zadovolnyayut rivnyannyu Bezu a x b y gcd a b displaystyle ax by gcd a b Rozshirenij algoritm Evklida osoblivo korisnij koli a i b vzayemno prosti chisla bo x obernene shodo a za modulem b a y obernene shodo b za modulem a Zmist 1 Neformalne viznachennya algoritmu 1 1 Iterativnij metod 2 Psevdokod 3 Shvidkodiya 4 Kod 4 1 C 4 2 Python 5 Literatura 6 PosilannyaNeformalne viznachennya algoritmu RedaguvatiDilene Dilnik Chastka Ostacha120 23 5 523 5 4 35 3 1 23 2 1 12 1 2 0Dlya poyasnennya algoritmu Evklida rozglyanemo obchislennya NSD 120 23 sho pokazano na tablici livoruch V comu vipadku ostacha v chetvertomu ryadku dorivnyuye 1 pokazuye sho NSD 1 tobto 120 i 23 vzayemno prosti Zadlya prostoti obrani vzayemno prosti chisla ale zagalnij vipadok koli NSD ne dorivnyuye 1 spracovuye podibnim chinom Isnuyut dva metodi obrobki obidva iz vikoristannyam dilennya z ostacheyu Iterativnij metod Redaguvati Cej metod obchislyuye viraz vidu r i a x i b y i displaystyle r i ax i by i nbsp dlya ostachi na kozhnomu kroci i displaystyle i nbsp algoritmu Evklida Kozhnij nastupnij nomer r i displaystyle r i nbsp mozhna zapisati yak ostachu vid dilennya poperednih dvoh takih chisel cyu ostachu mozhna viraziti vikoristovuyuchi chastku qi tak r i r i 2 q i r i 1 displaystyle r i r i 2 q i r i 1 nbsp Cherez zaminu ce daye r i a x i 2 b y i 2 q i a x i 1 b y i 1 displaystyle r i ax i 2 by i 2 q i ax i 1 by i 1 nbsp sho mozhna zapisati yak r i a x i 2 q i x i 1 b y i 2 q i y i 1 displaystyle r i a x i 2 q i x i 1 b y i 2 q i y i 1 nbsp Pershi dva znachennya algoritmu ye pochatkovimi argumentami algoritmu r 1 a a 1 b 0 displaystyle r 1 a a times 1 b times 0 nbsp r 2 b a 0 b 1 displaystyle r 2 b a times 0 b times 1 nbsp Otzhe koeficiyenti mayut taki pochatkovi znachennya x1 1 y1 0 x2 0 i y2 1 Inshi otrimuyutsya za dopomogoyu viraziv x i x i 2 q i x i 1 displaystyle x i x i 2 q i x i 1 nbsp y i y i 2 q i y i 1 displaystyle y i y i 2 q i y i 1 nbsp Viraz dlya ostannoyi nenulovoyi ostachi daye bazhanij rezultat bo cej metod obchislyuye kozhnij zalishok u viglyadi a i b yak i vimagalos Priklad Obchisliti NSD dlya 120 i 23 Obchislennya vidbuvayutsya tak Krok Chastka Ostacha Zamina Suma termiv1 120 120 120 1 23 02 23 23 120 0 23 13 5 5 120 23 5 5 120 1 23 0 120 0 23 1 5 5 120 1 23 54 4 3 23 5 4 3 120 0 23 1 120 1 23 5 4 3 120 4 23 215 1 2 5 3 1 2 120 1 23 5 120 4 23 21 1 2 120 5 23 266 1 1 3 2 1 1 120 4 23 21 120 5 23 26 1 1 120 9 23 477 2 0 Kinec algoritmuRozv yazok x 9 i y 47 Cherez te sho NSD viyavivsya 1 otrimuyemo takozh sho 47 ye obernenim do 23 za modulem 120 i takozh za modulem 23 9 abo 14 9 23 ye obernenim 120 abo totozhno 5 120 23 5 47 23 1 mod 120 i takozh 9 120 14 5 1 mod 23 Dlya togo shob cile a mozhna bulo obernuti za modulem b neobhidno shob a i b buli vzayemno prostimi otzhe yaksho NSD bilshij vid 1 take modulne obernennya ne isnuye Zauvazhte sho rivnyannya sho viznachayut znachennya xi nezalezhni vid tih yaki viznachayut znachennya yi i sho rivnyannya Bezu otrimane naprikinci G C D r k a x k b y k displaystyle mathit GCD r k ax k by k nbsp dozvolyaye vivesti yk koli xk vidome Koristuvach mozhe opustiti znachennya yi ne obchislyuyuchi yih hocha voni mozhut buti korisnimi yak perevirka na pomilki obchislen Psevdokod RedaguvatiROZShIRENIJ EVKLID a b displaystyle a b nbsp yaksho b 0 displaystyle b 0 nbsp povernuti a 1 0 displaystyle a 1 0 nbsp inakshe d x y displaystyle d x y nbsp ROZShIRENIJ EVKLID b a mod b displaystyle b a mod b nbsp d x y d y x a b y displaystyle d x y d y x lfloor a b rfloor y nbsp povernuti d x y displaystyle d x y nbsp Yaksho b ne nul todi ROZShIRENIJ EVKLID spochatku obchislyuye d x y taki sho d NSD b a mod b i d b x a mod b y displaystyle d bx a mod b y nbsp Shob otrimati x displaystyle x nbsp i y displaystyle y nbsp taki shob d a x b y displaystyle d ax by nbsp mi perepishemo poperednye rivnyannya vikoristavshi sho d d displaystyle d d nbsp tak d displaystyle d nbsp b x a b a b y displaystyle bx a b lfloor a b rfloor y nbsp a y b x a b y displaystyle ay b x lfloor a b rfloor y nbsp Shvidkodiya RedaguvatiOskilki kilkist rekursivnih viklikiv u zvichajnogo i rozshirenogo algoritmu Evklida odnakova to yih chas vikonannya odnakovij azh do stalogo mnozhnika Tobto dlya a gt b gt 0 displaystyle a gt b gt 0 nbsp kilkist rekursivnih viklikiv ye O lg b displaystyle O lg b nbsp Kod RedaguvatiC Redaguvati void ex al eu in int r1 int r2 int x1 int x2 int y1 int y2 int amp gcd int amp a int amp b int r3 r1 r2 r1 r2 int x3 x1 x2 r1 r2 int y3 y1 y2 r1 r2 if r3 ex al eu in r2 r3 x2 x3 y2 y3 gcd a b else gcd r2 a x2 b y2 void ex al eu int r1 int r2 int amp gcd int amp a int amp b ex al eu in r1 gt r2 r1 r2 r1 lt r2 r1 r2 1 0 0 1 gcd r1 gt r2 a b r1 lt r2 a b Python Redaguvati def extended euclid a b Povertaye d NSD x y i x y taki sho ax by d if b 0 return a 1 0 d x y extended euclid b a b return d y x a b yLiteratura RedaguvatiThomas H Cormen Charles E Leiserson Ronald L Rivest and Clifford Stein Introduction to Algorithms Second Edition MIT Press and McGraw Hill 2001 ISBN 0 262 03293 7 Pages 859 861 of section 31 2 Greatest common divisor Posilannya RedaguvatiHow to use the algorithm by hand Source for the form of the algorithm used to determine the multiplicative inverse in GF 2 8 Arhivovano 25 lyutogo 2021 u Wayback Machine nbsp Ce nezavershena stattya z matematiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Rozshirenij algoritm Evklida amp oldid 39335818