Внедрение критерия примарности Ферма

Кто хочет помочь мне с моей домашней работой?

Я пытаюсь реализоватьТест примитивности Ферма в Java с помощью BigIntegers. Моя реализация заключается в следующем, но, к сожалению, это не работает. Есть идеи?

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;
}

Я новичок в BigIntegers.

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос