Rozšířený Eukleidův algoritmus

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Rozšířený Eukleidův algoritmus je algoritmus, kterým lze nalézt Bézoutovu rovnost, neboli vyjádření největšího společného dělitele dvou čísel jejich lineární kombinací.

Příklad

: Vstup: Přirozená čísla a, b, kde a ≥ b ≥ 0 : Výstup: d = NSD(a,b) a celá čísla α, β splňující podmínku d = α·a + β·b # Je-li b = 0, položte d:=a, α:=1, β:=0 a skončete # Položte i:= 0, α20:= 1, α10:= 0, β20:= 0, β10:= 1 # Dokud b > 0 dělejte následující: i:= i+1 ## Spočtěte q a r tak, že a = q·b + r, 0 ≤ r i:= α1i-1, α1i:= α2i-1 - q*α1i-1, β2i:= β1i-1, β1i:= β2i-1 - q*β1i-1 ## Položte a:= b, b:= r

Položte d:= a, α:= α2i, β:= β2i

NSD(427, 133) = α · 427 + β · 133

Výsledkem uvedeného příkladu je NSD(427, 133) = 7

Bezoutovu rovnost lze zapsat 7 = 5 · 427 + -16 · 133

iabqrα2iα1iβ2iβ1i
04271331001
113328328011-3
228214211-4-313
321717-4513-16
470305-19-1661

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top