Guten Tag, meine Aufgabe ist es den Euklidischen Algorithmus darzustellen und den habe ich soweit verstanden und gelöst, aber ich versteh meinen Code bei einer Sache nicht so ganz. (Genaue Frage steht unten)
[CODE lang="java" title="Euklidischer Algorithmus"] public Integer groessterGemeinsamerTeiler2(Integer a, Integer b) {
if (a==null) {
return b;
}
while(b!=0) {
if (a > b) {
a = a - b;
} else {
b = b - a;
}
}
return a;
}[/CODE]
Das ist meine Ausgabe:

Er berechnet den GGT jeweils richtig aus, auch von (156,66) = 6 , nur versteh ich nicht genau warum er das ausrechnen kann. Wenn ich mir den Code so anschaue, dann müsste doch bei ggT(156,66) das Ergebnis 90 sein, weil ich doch durch die erste if-Abfrage, wenn (156>66) , dann a = 156-66; stehen hab. Deshalb versteh ich die Berechnung der 6 nicht, bei den anderen Beispielen versteh ich es.
[CODE lang="java" title="Euklidischer Algorithmus"] public Integer groessterGemeinsamerTeiler2(Integer a, Integer b) {
if (a==null) {
return b;
}
while(b!=0) {
if (a > b) {
a = a - b;
} else {
b = b - a;
}
}
return a;
}[/CODE]
Das ist meine Ausgabe:

Er berechnet den GGT jeweils richtig aus, auch von (156,66) = 6 , nur versteh ich nicht genau warum er das ausrechnen kann. Wenn ich mir den Code so anschaue, dann müsste doch bei ggT(156,66) das Ergebnis 90 sein, weil ich doch durch die erste if-Abfrage, wenn (156>66) , dann a = 156-66; stehen hab. Deshalb versteh ich die Berechnung der 6 nicht, bei den anderen Beispielen versteh ich es.