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

Informatiker Board » Themengebiete » Praktische Informatik » GGT Iterativ bestimmen » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 7 Beiträge
neuling96

vielen dank Daumen hoch
eulerscheZahl

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;
}
neuling96

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
eulerscheZahl

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.
neuling96

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.
eulerscheZahl

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.
neuling96 GGT Iterativ bestimmen

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;
}
}