Hallo wieder mal,
ich habe eine Methode geschrieben, die den größten gemeinsamen Teiler (= ggT = gcd = greates common dividend) mit Hilfe des euklidischen Algorithmus berechnet:
Nach dem dritten Durchlauf der Schleife bekomme ich die "java.lang.ArithmeticException: BigInteger: modulus not positive". Ich komme nicht drauf, wie ich das beheben kann.
ich habe eine Methode geschrieben, die den größten gemeinsamen Teiler (= ggT = gcd = greates common dividend) mit Hilfe des euklidischen Algorithmus berechnet:
Java:
public BigInteger gcdEuclid(BigInteger n, BigInteger m){
/* Beginne Initialisierung */
BigInteger g = BigInteger.ZERO; // g = Lösung
int zw = n.compareTo(m); // Vergleichsspeicher
BigInteger a = BigInteger.ZERO; // erster Zwischenspeicher
BigInteger b = BigInteger.ZERO; // zweiter Zwischenspeiche
/* Beende Initialisierung */
while(zw != 0){
a = m;
b = n.mod(m);
n = a;
m = b;
zw = n.compareTo(m);
g = n;
}
return g;
}
Nach dem dritten Durchlauf der Schleife bekomme ich die "java.lang.ArithmeticException: BigInteger: modulus not positive". Ich komme nicht drauf, wie ich das beheben kann.
Zuletzt bearbeitet: