Hallo zusammen,
ich habe mir einen EEA geschrieben bin aber mit meiner Ausgabe unzufrieden. Die Rechnung ist richtig und für meinen Gebrauch reicht das auch. Aber ich würde es gerne etwas aufhübschen und suche jemand der mir einen Tip geben kann bzw mir mit seiner Erfahrung helfen kann.
Meine Ausgabe sieht folgendermassen aus:
Bitte die erste Zahl eingeben:
216
Bitte die zweite Zahl eingeben:
137
m= 137 n= 79 q= 1 s= 1 t= -1
m= 79 n= 58 q= 1 s= -1 t= 2
m= 58 n= 21 q= 1 s= 2 t= -3
m= 21 n= 16 q= 2 s= -5 t= 8
m= 16 n= 5 q= 1 s= 7 t= -11
m= 5 n= 1 q= 3 s= -26 t= 41
m= 1 n= 0 q= 5 s= 137 t= -216
Ergebnis: -216
Das unschöne sind das ich erstens auf der Seite der multiplikativen Inversen eine Zeile (unterste) zu viel habe und das ich keine Idee habe wie ich die Spalten sortieren kann.
Prinzipiell könnte ich das ganze initialisieren und so anfnagne:
m= 0 n= 216 q= 0 s= 1 t= 0
m= 216 n= 137 q= 1 s= 1 t= 0.......
bekomme ich aber nicht hin.
Hier mal mein Code
Oder das Projekt auf meiner Dropbox:
https://dl.dropbox.com/u/3557897/Taschenrechner.zip
Danke für eure Hilfe.
Gruß
ich habe mir einen EEA geschrieben bin aber mit meiner Ausgabe unzufrieden. Die Rechnung ist richtig und für meinen Gebrauch reicht das auch. Aber ich würde es gerne etwas aufhübschen und suche jemand der mir einen Tip geben kann bzw mir mit seiner Erfahrung helfen kann.
Meine Ausgabe sieht folgendermassen aus:
Bitte die erste Zahl eingeben:
216
Bitte die zweite Zahl eingeben:
137
m= 137 n= 79 q= 1 s= 1 t= -1
m= 79 n= 58 q= 1 s= -1 t= 2
m= 58 n= 21 q= 1 s= 2 t= -3
m= 21 n= 16 q= 2 s= -5 t= 8
m= 16 n= 5 q= 1 s= 7 t= -11
m= 5 n= 1 q= 3 s= -26 t= 41
m= 1 n= 0 q= 5 s= 137 t= -216
Ergebnis: -216
Das unschöne sind das ich erstens auf der Seite der multiplikativen Inversen eine Zeile (unterste) zu viel habe und das ich keine Idee habe wie ich die Spalten sortieren kann.
Prinzipiell könnte ich das ganze initialisieren und so anfnagne:
m= 0 n= 216 q= 0 s= 1 t= 0
m= 216 n= 137 q= 1 s= 1 t= 0.......
bekomme ich aber nicht hin.
Hier mal mein Code
Java:
package rechner;
public class ErweiterterEuklidischerAlogrithmus {
int rest = 0;
int q = 0;
int uHelp = 1;
int vHelp = 0;
int s = 0;
int t = 1;
int sLast;
int tLast;
void EEA(int m, int n){
while (n>0) {
q = m/n;
rest = m-(q*n);
m = n;
n = rest;
rest = uHelp-(q*s);
uHelp = s;
s = rest;
rest = vHelp-(q*t);
vHelp = t;
t = rest;
System.out.println("m= " +m +" n= " +n +" q= " +q +" s= " +s +" t= " +t);
sLast = s;
tLast = t;
}
System.out.println("Ergebnis: " +tLast);
}
}
Oder das Projekt auf meiner Dropbox:
https://dl.dropbox.com/u/3557897/Taschenrechner.zip
Danke für eure Hilfe.
Gruß