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

von 23Java (510 Punkte)
- 29.10.2012 um 09:09 Uhr

import java.util.Scanner; public class EuklidAlg { static Scanner sc; static int a, b; public static void main(String[] args) { sc = new Scanner(System.in); System.out.println("Bitte erste Zahl eingeben."); a = sc.nextInt(); System.out.println("Bitte zweite Zahl eingeben."); b = sc.nextInt(); System.out.println("a: " + a + "\n" + "b: " + b); int ggTold = euklidOld(a, b); System.out.println("Ergebnis klassischer Algorithmus: " + ggTold); int ggTnew = euklidNew(a, b); System.out.println("Ergebnis moderner Algorithmus: " + ggTnew); } public static int euklidOld(int a, int b) { if(a == 0) { return b; } else { while(b != 0) { if(a > b) { a = a - b; } else { b = b - a; } } } return a; } public static int euklidNew(int a, int b) { if(b == 0) { return a; } else { return euklidNew(b, a % b); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1