Teilbarkeit, Teiler

Aufrufe: 1007     Aktiv: 05.12.2020 um 10:06

0

public class Teilbarkeit { /** berechne den größten gemeinsamen Teiler zweier Zahlen

  • @param a ist eine der beiden Zahlen
  • @param b ist die andere Zahl
  • @return die größte Zahl, die sowohl Teiler von a als auch Teiler von b ist
  • @throws RuntimeException, falls eine der Parameter kleiner als 1 ist. */

public static int ggT(int a, int b) {

if ((a <= 0) || (b <=0))

{

  throw new RuntimeException("Nur positive Zahlen sind als Parameter erlaubt.");

}

/* Aufgabe 1:

 * Erläutere, wieso es garantiert eine Zahl geben muss,
 * welche ein sowohl ein Teiler von a ist als auch ein Teiler von b.

*/ return hilfswert;

/* Aufgabe 2:
 * Teste die Methode an folgendem Bespiel:
 * ggt(8, 12) ergibt 4.

}

Diese Frage melden
gefragt

Punkte: 12

 
Kommentar schreiben
1 Antwort
0

Aufgabe 1: Seien a, b Element der Natürlichen Zahlen N, so ist jeder dieser Zahlen durch 1 und durch sich selbst teilbar. D.h. egal welche Zahlen du auswählst, die 1 ist immer ein Teiler beider Zahlen.

Hier der Code um den ggT zu berechnen (Euklidischer Algorithmus):

public class Teilbarkeit {

public static int help(int a, int b, int c) {
    if (c == 0) return b;
    else return help(b, c, b % c);
}

public static int ggT(int a, int b) {
    if (a <= 0 || b <= 0) throw new RuntimeException("Invalid numbers");
    return help(a, b, a % b);
}

public static void main(String[] args) {
    System.out.println(ggT(8, 12)); //4
}

}

Diese Antwort melden
geantwortet

Schüler, Punkte: 455

 

Kommentar schreiben