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
