powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Самый быстрый алгоритм для определения простых чисел Мерсенна
6 сообщений из 6, страница 1 из 1
Самый быстрый алгоритм для определения простых чисел Мерсенна
    #39886172
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЭпиграфmaytonGennadiy UsovmaytonЧем планируешь занятся в отсутствие шахмат?А нет у меня шахматНу я имею в виду тему... Направление. К примеру:
Криптография (актуально сейчас в эпоху bitcoins, darknet, tor).
...
Не обещаю что за эти темы назначены денежные бонусы. Но всё-же.
Я мог-бы просто поддежать или поучаствовать хотя-бы на уровне
энтузиаста. Не специалиста.Сообщаю, что получен самый быстрый алгоритм для определения простых чисел Мерсенна
( и конечно, для определения простых чисел в окрестности чисел Мерсенна).
Обоснования алгоритма опубликованы в
http://sci-article.ru/stat.php?i=1573028225

Если коротенько, то
Пусть n – простое нечётное число.
Число Мерсенна Mn = 2^n – 1 будет простым тогда и только тогда,
когда (n – 1) член последовательности:
В(1) = 3
B(i) = (B (i - 1)*B(i - 1)) mod (Mn), 2 <= i <= n - 1
будет равен числу (Mn – 3):
B (n-1) = Mn – 3.


В результате получился эвристический алгоритм, похожий на алгоритм теста Люка-Лемера, а отличающийся тем, что в эвристическом алгоритме отсутствует операция вычитания числа 2 на каждом шаге.
Проведённые тестовые расчёты на ЭВМ показали, что эвристический алгоритм определяет простые числа Мерсенна в среднем на 2% быстрее, чем определяет простые числа тест Люка-Лемера.

Спасибо всем, кто меня критиковал при работе над этой задачкой!
Буду признателен за обсуждение полученного алгоритма.
...
Рейтинг: 0 / 0
Самый быстрый алгоритм для определения простых чисел Мерсенна
    #39886200
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И тут же уточнение в 22011445 :

Следует читать:
Пусть n – нечётное число.

В статье исправил.
...
Рейтинг: 0 / 0
Самый быстрый алгоритм для определения простых чисел Мерсенна
    #39886441
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Идёт работа над ошибками:

В(1) = 9

либо

В(1) = 3
B(i) = (B (i - 1)*B(i - 1)) mod (Mn), 2 <= i <= n

Первый вариант предпочтительнее, с точки зрения сравнения с тестом Люка-Лемера
...
Рейтинг: 0 / 0
Самый быстрый алгоритм для определения простых чисел Мерсенна
    #39886512
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Идёт работа над ошибками
Каждая исправленная ошибка -- последняя.
...
Рейтинг: 0 / 0
Самый быстрый алгоритм для определения простых чисел Мерсенна
    #39887296
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После проведённых исследований немного расширил статью (это не ошибка - для любителей статистики).

Рабочие диапазоны для чисел Mn рассматриваются не с шагом 4, а с шагом 2.
Показаны рабочие диапазоны для малых чисел Mn с количеством простых чисел,
определённых эвристическим алгоритмом.
...
Рейтинг: 0 / 0
Самый быстрый алгоритм для определения простых чисел Мерсенна
    #39890101
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
(это не ошибка - для любителей статистики).
Конечно-конечно, благодаря известной мелкомягкой фирме мы все уже неск. десятков лет знаем, что "это не ошибка программы, а её особенность".
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Самый быстрый алгоритм для определения простых чисел Мерсенна
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]