Java :: Aufgabe #8 :: Lösung #3
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.
#3

von L4ZUR812 (630 Punkte)
- 05.09.2014 um 11:59 Uhr

[CODE]package ÜbungsAufgaben; import javax.swing.JOptionPane; public class Aufgabe08 { public static void main(String[] args) { Aufgabe08 m = new Aufgabe08(); int zahl1 = Integer.parseInt(JOptionPane .showInputDialog("Eingabe der ersten Zahl:"));// Aufnahme der ersten zu teilenden Zahl. int zahl2 = Integer.parseInt(JOptionPane .showInputDialog("Eingabe der zweiten Zahl:"));// Aufnahme der zweiten zu teilenden Zahl. JOptionPane.showMessageDialog( null, "ggT nach dem klassen Euklidischen Algorithmus: " + m.klassischerAlgorithmus(zahl1, zahl2));// Ausgabe des ggT nach klassischer Art. JOptionPane.showMessageDialog( null, "ggT nach dem modernen Euklidischen Algorithmus: " + m.modernerAlgorithmus(zahl1, zahl2));// Ausgabe des ggT nach moderner Art. } int klassischerAlgorithmus(int zahl1, int zahl2) { if (zahl1 == 0) { return zahl2; } else { while (zahl2 != 0) { if (zahl1 > zahl2) { zahl1 -= zahl2; } else { zahl2 -= zahl1; } } } return zahl1; } int modernerAlgorithmus(int zahl1, int zahl2) { int n; while (zahl2 != 0) { n = zahl1 % zahl2; zahl1 = zahl2; zahl2 = n; } return zahl1; } }[/CODE]
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1