Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » GGT Iterativ bestimmen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen GGT Iterativ bestimmen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
neuling96
unregistriert
GGT Iterativ bestimmen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
ich soll den GGT iterativ in java erstellen.
Hier mein Vorschlag:
public static GGT ( int a, int b)
{
while (a != b){
if (a>b) {
a=a-b;
b=b-a;}
}
return a;
}
}
05.12.2014 13:20
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Und für a < b hängen wir in der while Schleife fest, bis der Nutzer ein Erbarmen hat und das Programm beendet?

Der Algorithmus sieht verkehrt aus, wirf mal einen Blick auf das, was Euklid dazu hat.
Mit modulo kommst du übrigens noch schneller ans Ziel.

__________________
Syntax Highlighting fürs Board (Link)
05.12.2014 14:06 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von eulerscheZahl
Und für a < b hängen wir in der while Schleife fest, bis der Nutzer ein Erbarmen hat und das Programm beendet?


Wieso?

Wenn a<b gilt wird doch die Differenz gebildet b=b-a und solange a!=b.
05.12.2014 14:22
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

dann fehlt aber ein else.
Derzeit wird bei a>b erst etwas von a abgezogen und dann von b.

Für a < b passiert nichts, aber aus dem while kommst du auch nicht raus, da ja a != b ist.

__________________
Syntax Highlighting fürs Board (Link)
05.12.2014 14:37 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

public static GGT ( int a, int b)
{
while (a != b){
if (a>b) {
a=a-b;
else b=b-a;}
}
return a;
}
}

ich komm aus while raus sobald a=b gilt, und das ist auch das ggt

bsp a= 5 b=2

1 durchgang
a=3
b=2
2 durchgangg
a=1
b=2
3 durchgang
a=1
b=1

schleife beendet , da a!=b false ist


oder a=3,b=6
1)
a=3
b=3
schleife beendet, a!=b false ist

oder habe ich da ein denk fehler
05.12.2014 14:42
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Jetzt (mit else) stimmt dein Vorgehen.
hier ist aber die Klammersetzung falsch:
code:
1:
2:
3:
if (a>b) {
a=a-b;
else b=b-a;}

das wird der Compiler so nicht schlucken - entweder
code:
1:
2:
3:
if (a>b)
    a=a-b;
else b=b-a;

oder
code:
1:
2:
3:
4:
5:
if(a > b) {
    a -= b;
} else {
    b -= a;
}


__________________
Syntax Highlighting fürs Board (Link)
05.12.2014 14:50 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
neuling96
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

vielen dank Daumen hoch
05.12.2014 14:51
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » GGT Iterativ bestimmen