Java :: Aufgabe #8 :: Lösung #3

6 Lösungen Lösungen öffentlich
#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.
#3
vote_ok
von L4ZUR812 (630 Punkte) - 05.09.2014 um 11:59 Uhr
Quellcode ausblenden Java-Code
[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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2116519

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.