Erweiterter euklidischer Algorithmus

Dieser Rechner verwendet den erweiterten euklidischen Algorithmus, der neben den größten gemeinsamen Teiler von den Ganzzahlen a und b auch den Lemma von Bezout Koeffizienten berechnet.

Diese Webseite exisiert dank der Arbeit von den folgenden Menschen:

Timur

Timur

Stefan Roesner

Erstellt: 2020-11-10 04:31:31, Letzte Aktualisierung: 2020-11-10 04:31:31
Creative Commons Attribution/Share-Alike License 3.0 (Unported)

Der Inhalt ist unter der Creative Commons Namensnennung / Weitergabe unter gleichen Bedingungen 3.0 (nicht portiert) lizenziert. Dies bedeutet, dass Sie diesen Inhalt unter den gleichen Lizenzbedingungen frei weitergeben oder ändern dürfen, jedoch mit Zuordnung zum Entwickler indem Sie einen Hyperlink auf Ihrer Webseite zu dieser Arbeit https://de.planetcalc.com/3298/ platzieren. Des Weiteren ändern Sie bitte keine Verweise auf das Originalwerk (falls vorhanden) das in diesem Inhlat vorhanden ist.

Auf dieser Seite haben wir bereits einen Rechner, Die größten gemeinsamen Teiler von Ganzzahlen, der den euklidischen Algorithmus verwendet. Wie es sich (für mich) rausgestellt hat, gibt es einen erweiterten euklidischen Algorithmus. Dieser Algorithmus berechnet neben dem größten gemeinsamen Teiler der Ganzzahlen a und b auch das Lemma von Bezout Koeffizienten, die die Ganzzahlen x und y sind von

ax + by = {\rm gcd} (a, b)

Er erlaubt also die Berechnung der Quotienten on a und b mit deren größten gemeinsamen Teiler.

Sie finden den Rechner hier, und wie üblich ist der theoretische Teil darunter

PLANETCALC, Erweiterter euklidischer Algorithmus

Erweiterter euklidischer Algorithmus

Größter gemeinsamer Teiler
 
Koeffizient von der größeren Ganzzahl
 
Koeffizient von der kleineren Ganzzahl
 

Der erweiterte Algorithmus nutzt die Rekursion und berechnet die Koeffizienten durch deren Backtracking. Die Formeln dieser Berechnung kann man durch die folgenden Überlegungen erhalten:

Nehmen wir mal an, wir kennen die Koeffizienten (x_1,y_1) für das Paar (b\%a,a), wie:

 (b \% a)x_1 + ay_1 = g,

und wir berechnen die Koeffizienten für das Paar (a,b), wie:

 ax + by = g

Zuerst ersetzen wir b\%a mit:

b\%a = b - \left\lfloor \frac{b}{a} \right\rfloor a, wobei

\left\lfloor \frac{b}{a} \right\rfloor - der Quotient von der ganzzahligen Division von b nach a,

und nutzen diese als Ersatz in der Gleichung:

g = (b \% a) x_1 + a  y_1 = \left( b -\left\lfloor \frac{b}{a} \right\rfloor a\right) x_1 + ay_1

Nach der Umgruppierung haben wir:

g = bx_1 + a \left( y_1 - \left\lfloor \frac{b}{a} \right\rfloor x_1\right)

In einem Vergleich mit der Anfangsgleichung kann man x und y so darstellen:

x = y_1 - \left\lfloor \frac{b}{a} \right\rfloor x_1
y = x_1

Der Anfang des rekursiven Backtracking ist das Ende des euklidischen Algorithmus, wenn a = 0 und GNT = b sind, dann ist das erste x und y 0 und 1 respektiv. Weitere Koeffizienten werden mit den obigen Formeln berechnet.

URL zum Clipboard kopiert
PLANETCALC, Erweiterter euklidischer Algorithmus

Kommentare