Implementation von Fermats Primalitätstest

Wer möchte mir bei meinen Hausaufgaben helfen?

Ich versuche zu implementieren Fermats Primalitätstest in Java mit BigIntegers. Meine Implementierung ist wie folgt, aber leider funktioniert es nicht. Irgendwelche Ideen

public static boolean checkPrime(BigInteger n, int maxIterations)
{
    if (n.equals(BigInteger.ONE))
        return false;

    BigInteger a;
    Random rand = new Random();

    for (int i = 0; i < maxIterations; i++)
    {
        a = new BigInteger(n.bitLength() - 1, rand);
        a = a.modPow(n.subtract(BigInteger.ONE), n);

        if (!a.equals(BigInteger.ONE))
            return false;
    }

    return true;
}

Ich bin neu bei BigIntegers.

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage