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

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.
#5
vote_ok
von paddlboot (3970 Punkte) - 09.07.2019 um 09:45 Uhr
Quellcode ausblenden Java-Code
import java.util.*;

public class EuklidischerAlg {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int zahl1, zahl2, alt, neu;
		
		System.out.print("Erste natürliche Zahl:\t");
		zahl1 = scanner.nextInt();
		System.out.print("\nZweite natürliche Zahl:\t");
		zahl2 = scanner.nextInt();
		alt = eucleid_old(zahl1, zahl2);
		System.out.println("\nAlter Eukleid:\t" + alt);
		neu = eucleid_modern(zahl1, zahl2);
		System.out.println("\nModerner Eukleid:\t" + neu);
		
		scanner.close();		
	}
	
	public static int eucleid_old(int a, int b) {
		int erg;
		
		if (a == 0) erg = b;
		else
		{
			while(b != 0) {
				if(a > b) a = a - b;
				else b = b - a;
			}
			erg = a;
		}
		return erg;
	}
	
	public static int eucleid_modern(int a, int b) {
		int erg, h;
		
		while(b != 0) {
			h = a % b;
			a = b;
			b = h;
		}
		erg = a;
		return erg;
	}
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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