Suche Hilfestellung

jomaney

Mitglied
Hey Leute, ich hoffe jemand könnte mir noch einmal aushelfen.
Aufgabe lautet: Die Methode ggT berechnet den größten gemeinsamen Teiler zweier natürlicher Zahlen
a und b. Verwenden Sie dazu den folgenden Algorithmus:
1. setze m=a und n=b
2. falls m kleiner als n, dann vertausche m und n
3. setze r = m-n
4. setze m=n und n=r
5. a) falls r ungleich 0 mache weiter bei Schritt 2
b) falls r gleich 0 dann ist m der ggT!
Es ist ein Code-Gerüst vorgegeben, nur weiß ich nicht wie ich Aufgabe 2-5 lösen kann.
Letzteres ist meine falsche Arbeit bis jetzt.

Java:
import java.io.*;
class CalcIt {
  public int ggT (int a, int b) {
    //Ihre Loesung
    return m; //Ergebnis der Methode ist m
  }
}

public class MyCalc {
  public static void main(String[] args) {
    CalcIt c = new CalcIt();
    System.out.println("Ausgabe: "+c.ggT(48,32));
  }
}
Java:
import java.io.*;
class CalcIt {
  public int ggT (int a, int b) {
      int m ;
      int n;
      int r;
      m = a; n = b;
     
      if (m<n) { m = n; n = m;
      }
      else {
      r = m-n;
     
      m=n;n=r;
    
      if ( r!=0) {
       
         
      }
}
            
    //Ihre Loesung
    return m; //Ergebnis der Methode ist m
    return n;
  }
}

public class MyCalc {
  public static void main(String[] args) {
    CalcIt c = new CalcIt();
    System.out.println("Ausgabe: "+c.ggT(48,32));
  }
}
 

Robat

Top Contributor
2. falls m kleiner als n, dann vertausche m und n
Dein tauschen wird so noch nicht klappen. Dir fehlt ein Zwischenschritt. Wenn du m=n setzt und dann n = m sind ja m und n danach gleich. (Haben beide den Wert von m). ;)

3. und 4. hast du ja schon.

5. Den Effekt : Mache Schritt x bis y solange wie eine Bedingung wahr ist kannst du bspw. mit einer do-while Schleife implementieren.

Hoffe das reicht erstmal als Anregung :)
Gruß Robert
 

jomaney

Mitglied
Ich bräuchte noch einmal Hilfe, wie kann ich 5.b ) lösen, so sollte doch bis dahin alles stimmen oder ?




#
Java:
import java.io.*;
class CalcIt {
  public int ggT (int a, int b) {
      int m ;
      int n;
      int r;
      m = a; n = b;
     
      if (m<n) { int x = m;
      m = n;
      n = x;
      }
      else {
      r = m-n;
     
      m=n;n=r;
     int x;
    
      do{
          x = m;
          m = n;
          n =x;
         
      }
      while(r!=0);
     
      if (r==0){
         // wie schreibt man auf,dass der ggT m ist ??
      }
    
      

      }
     
            
    //Ihre Loesung
    return m; //Ergebnis der Methode ist m
    return n;
  }
}

public class MyCalc {
  public static void main(String[] args) {
    CalcIt c = new CalcIt();
    System.out.println("Ausgabe: "+c.ggT(48,32));
  }
}
 

Meniskusschaden

Top Contributor
Du musst eigentlich nur exakt das machen, was in der Aufgabenstellung vorgegeben ist. Beispielsweise steht bei 5a, dass es bei Schritt 2 weiter gehen soll. Du benötigst also auf jeden Fall schon mal eine Schleife, die die Schritte 2 bis 4 wiederholt, solange die Bedingung aus 5a erfüllt ist. Deine Schleife wiederholt aber nur das, was in Schritt 2 beschrieben ist.
 

jomaney

Mitglied
Könnte mir jemand die Aufgabe eventuell Schritt für Schritt erklären? Ich stehe total auf dem Schlauch und benötige echt einen großen Denkanstoß.


Java:
import java.io.*;
class CalcIt {
  public int ggT (int a, int b) {
      int m ;
      int n;
      int r = 0;
      m = a; n = b;
     
      if (m<n) { int x = m;
      m = n;
      n = x;
      }
      else {
      r = m-n;
     
      m=n;n=r;
     int x;
    
      do{
          x = m;
          m = n;
          n =x;
         
          r = m-n;
         
          m=n;n=r;
         
      }
      while(r!=0);
     
      if (r==0){
          return m;
      }
    
      

      }
    return r;
    return n;


  }
}


public class MyCalc {
  public static void main(String[] args) {
    CalcIt c = new CalcIt();
    System.out.println("Ausgabe: "+c.ggT(48,32));
  }
}
 

Meniskusschaden

Top Contributor
Gleiche doch einfach dein Programm mit der Aufgabenstellung ab:
1. setze m=a und n=b
Das hast du gemacht.
2. falls m kleiner als n, dann vertausche m und n
Du vertauschst zwar m und n falls m kleiner als n ist, aber andernfalls führst du den else-Block aus. Warum? Steht das in der Aufgabenstellung? Nach Schritt 2 kommt Schritt 3 - unabhängig davon, ob die Bedingung in 2 erfüllt ist. Außerdem sollte die bedingte Vertauschung sich laut 5a) bereits im Schleifenkörper befinden.

Es gibt bei dieser Aufgabe kein Geheimnis. Du musst einfach nur exakt die Anweisungen in Java-Code umformulieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Reflection: Suche Feld + in Unterklassen Java Basics - Anfänger-Themen 7
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
M Suche Resteasy Example Java Basics - Anfänger-Themen 24
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
M binäre Suche im Intervall Java Basics - Anfänger-Themen 6
M binäre Suche Java Basics - Anfänger-Themen 4
H Suche Java3D 32 bit Java Basics - Anfänger-Themen 20
amelie123456 Lineare Suche / Binäre Suche Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
RudiRüssel Binäre Suche, unsortiert, lokales Maximum Java Basics - Anfänger-Themen 15
Y Suche von Studenten anhand Ihrer Eigenschaften. Java Basics - Anfänger-Themen 1
F Auf der Suche in π Java Basics - Anfänger-Themen 13
C Suche Nachhilfe in Java Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
A suche dringend Hilfe!! Java Basics - Anfänger-Themen 6
N Operatoren Schreibtischtest der Reihen-Suche nach Aufschluss in die Basics Java Basics - Anfänger-Themen 1
B Suche free SVN Hosting Java Basics - Anfänger-Themen 12
S Binäre-Suche Algorithmus Java Basics - Anfänger-Themen 1
S Java Lineare-Suche Zeitmessung Java Basics - Anfänger-Themen 5
S Java Lineare Suche Java Basics - Anfänger-Themen 1
S Binäre-Suche bei unsortierten Daten Java Basics - Anfänger-Themen 7
E Die richtige Suche in der API Java Basics - Anfänger-Themen 1
S suche nach varible POSITION ... fuer das pixel-maennchen Java Basics - Anfänger-Themen 4
E Weg-Suche-Problem rekursiv Java Basics - Anfänger-Themen 12
B Suche Programme mit Fehlern Java Basics - Anfänger-Themen 9
jaleda100 Component für Suche Java Basics - Anfänger-Themen 4
L Suche ein sampel Projekt Java Basics - Anfänger-Themen 2
P Suche Aufwandsgenerator (o-notation) Java Basics - Anfänger-Themen 1
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
M Suche hilfe bei Array Java Basics - Anfänger-Themen 4
L Binäre Suche mit Comparator Java Basics - Anfänger-Themen 5
J Methoden Suche effiziente Implementierung für eine Methode Java Basics - Anfänger-Themen 3
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
D Erste Schritte Suche Quelltext Java Basics - Anfänger-Themen 7
M Rekursion Minimums Suche Java Basics - Anfänger-Themen 12
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
J Suche die Emailadresse Java Basics - Anfänger-Themen 6
H Suche in Text und Markierung Java Basics - Anfänger-Themen 14
H Suche in einem Text Java Basics - Anfänger-Themen 17
H Erste Schritte Binäre Suche Java Basics - Anfänger-Themen 37
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
H Rekursion Binäre Suche Java Basics - Anfänger-Themen 2
L Binäre Suche Java Basics - Anfänger-Themen 2
L Linerae Suche in einem sortierten Array Java Basics - Anfänger-Themen 2
N Array, lineare Suche, binäre Suche, Programm bleibt unerwartet stehen... Java Basics - Anfänger-Themen 6
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
L Einfache Lineare Suche Java Basics - Anfänger-Themen 7
J Binäre Suche eines Array Java Basics - Anfänger-Themen 5
M Methoden Binäre Suche als rekursive Variante Java Basics - Anfänger-Themen 5
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
M Benutzerdefinierte Suche in einem String - outofbounds Java Basics - Anfänger-Themen 7
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
B Binäre Suche in einem String Array Java Basics - Anfänger-Themen 10
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
M Rekursive Suche in einem Feld Java Basics - Anfänger-Themen 11
S Suche richtigen Typ für Variabel mit den Werten (neu, gebraucht, beschädigt) Java Basics - Anfänger-Themen 7
M Best Practice Programmierstil Graphen-A*-Suche Java Basics - Anfänger-Themen 5
M Suche Hilfe bei sehr kleinen Quelltexten Java Basics - Anfänger-Themen 2
E Suche Klasse die eine Bedinung prüft und einen von zwei Auswahlwerten zurückgibt... Java Basics - Anfänger-Themen 6
D Erste Schritte suche hilfe für db-anbindung Java Basics - Anfänger-Themen 36
S Java Servlet - Suche Java Basics - Anfänger-Themen 1
P Hashing suche Java Basics - Anfänger-Themen 4
K Suche Hilfe bei einfachem Java Code ( Debuggen ) Java Basics - Anfänger-Themen 1
J Variablen Auf der suche nach einem Befehl Java Basics - Anfänger-Themen 2
M Binäre Suche Fehler überall =( Java Basics - Anfänger-Themen 2
Farbenfroh Suche Übungsaufgaben: BinaryTree, Stack Java Basics - Anfänger-Themen 0
D Binärbaum Suche Java Basics - Anfänger-Themen 5
U Vererbung Suche Hilfe anhand eines Bsp. Java Basics - Anfänger-Themen 1
L Suche Programmier-Projekt mit Anleitung Java Basics - Anfänger-Themen 3
A Suche Programmierer für Android App Java Basics - Anfänger-Themen 1
H Suche Vergleichstabelle für die Klassen String und StringBuilder Java Basics - Anfänger-Themen 1
X [SUCHE]Mitentwickler Java Basics - Anfänger-Themen 10
P Methoden suche funktion die char wert ausgibt wenn man numerischen wert und radix angibt Java Basics - Anfänger-Themen 1
D Binare Suche Java Basics - Anfänger-Themen 1
C Erste Schritte Bereich angeben bzw Fehler Suche Java Basics - Anfänger-Themen 6
L Suche in dreidimensionalen Arrays Java Basics - Anfänger-Themen 3
P Lineare Suche im Array Java Basics - Anfänger-Themen 5
X verschachtelte suche Java Basics - Anfänger-Themen 8
T Sortieren/Suche klappt nicht ganz (String Array) Java Basics - Anfänger-Themen 2
S Erste Schritte Suche nach einem guten JAVA-Buch (Definition im Thread) Java Basics - Anfänger-Themen 6
G suche den Begriff & wie programmiere ich sowas (ich ändere den Titel dann) Java Basics - Anfänger-Themen 2
M suche/brauche Links über rein GUI Beispielprogramme Java Basics - Anfänger-Themen 4
I Suche Component welches Map ähnelt Java Basics - Anfänger-Themen 11
D Binäre Suche für Integerarray in rekursiver Funktion Java Basics - Anfänger-Themen 5
G Erste Schritte Suche nach Zeichenkette Java Basics - Anfänger-Themen 26
steffomio Suche brauchbares I18N Lib Java Basics - Anfänger-Themen 4
J Suche Tipps zum erstellen von Algorithmen Java Basics - Anfänger-Themen 5
D Artikel-Suche implementieren Java Basics - Anfänger-Themen 7
S suche nach eclipse plug-in Java Basics - Anfänger-Themen 3
W Compiler-Fehler Binäre Suche Java Basics - Anfänger-Themen 2
R Suche Regex Ausdruck für HTML Java Basics - Anfänger-Themen 11
K Suche geeignete Code-Beispiele Java Basics - Anfänger-Themen 4
P Suche Java Programme mit gutem/anfängertauglichem Quellcode Java Basics - Anfänger-Themen 8
I Suche Compiler in Java SDK Java Basics - Anfänger-Themen 5
R String in Strig Suche Java Basics - Anfänger-Themen 2
M Suche Beispiel-Spiel Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben