Тест на простоту Ферма
-
Основы теста Ферма
- Тест Ферма проверяет, является ли число вероятно простым.
- Если число не делится на простое число p, то соответствие между числами a и p может быть проверено.
- Если соответствие не выполняется, то p считается составным.
-
Выбор и проверка чисел a
- Обычно выбирают числа a в интервале 1 < a < p — 1.
- Соответствие выполняется для a ≡ 1 (mod p) и a ≡ -1 (mod p), если p нечетно.
-
Пример использования теста Ферма
- Для проверки числа 221 на простоту выбирается a = 38, и соответствие выполняется.
- Число 221 оказывается составным, а 38 — ложью Ферма.
-
Алгоритм теста Ферма
- Значения a 1 и n — 1 не проверяются, так как равенство выполняется для всех нечетных n.
-
Сложность и недостатки теста Ферма
- Сложность алгоритма составляет O(k log2n log log n), где k — количество тестов.
- Существует бесконечно много псевдопростых чисел Ферма и чисел Кармайкла, что снижает эффективность теста.
-
Применение теста Ферма
- В большинстве случаев используются более мощные тесты Миллера-Рабина или Бейли-ПСВ.
- Тест Ферма может использоваться для предварительного тестирования перед выполнением более сложных тестов.
-
Рекомендации по использованию теста Ферма
- Рекомендуется использовать более мощные тесты для вероятностного простого тестирования.