Java :: Aufgabe #8 :: Lösung #1
6 Lösungen

#8
Euklidischer Algorithmus
Anfänger - Java
von Jurom
- 23.10.2012 um 11:49 Uhr
Erstellen Sie ein Programm, das den größten gemeinsamen Teiler zweier natürlicher Zahlen zurückgibt.
Benutzen Sie hierzu den euklidischen Algorithmus; sowohl den klassischen, als auch den modernen.
Geben Sie zum Vergleich beide Lösungen aus.
Auf ein Exception-Handling kann verzichtet werden.
Beispiele zum Lösungslayout sind beigefügt.
Benutzen Sie hierzu den euklidischen Algorithmus; sowohl den klassischen, als auch den modernen.
Geben Sie zum Vergleich beide Lösungen aus.
Auf ein Exception-Handling kann verzichtet werden.
Beispiele zum Lösungslayout sind beigefügt.
#1

von Jurom (1070 Punkte)
- 23.10.2012 um 16:12 Uhr

//©2012 by Julius J. Hoffmann //written with Eclipse import java.util.*; //Importiert Scanner zum Einlesen der Eingabe public class Euklid { //die "ausführende" Klasse static int old(int a, int b) //Methode zur Berechnung des klass. Algorithmus { //mit Übergabe von 2 int-Variablen if (a==0) return b; //Bedingung: a = 0 -> Rückgabe b; Ende der Methode while (b!=0) //Initiierung einer while-Schleife mit b nicht 0 als Bedingung { if (a > b) a = a-b; //Subtraktion der kleinern von der kleineren Zahl, wenn a größer else b = b-a; //wenn b kleiner, iterative Berechnung } return a; //Rückgabe a (wenn b = 0) } static int modern (int a, int b) //Methode zur Berechnung des modernen Algorithmus { if (b==0) return a; //wenn b = 0, Rückgabe a; Ende der Methode return modern(b, a%b); //rekursiver Aufruf der Funktion, mit b, Rest von a/b } public static void main(String[] args) //main-Methode { Scanner s = new Scanner(System.in); //Anlegen des Scanner-Objektes System.out.print("Geben Sie die 1. natürliche Zahl an: "); //Ausgabe des Strings int x = s.nextInt(); //Einlesen der Benutzereingabe System.out.print("Geben Sie die 2. natürliche Zahl an: "); //Ausgabe des Strings int y = s.nextInt(); //Einlesen der Benutzereingabe System.out.println("alter Euklid: " + old(x,y)); //Ausgabe String, Aufruf von old() System.out.print("moderner Euklid: " + modern(x,y)); //Ausgabe String, Aufruf von modern } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1