1.51M
Category: programmingprogramming

Создание программы для поиска парных простых чисел, превосходящих ранее найденные

1.

Государственное бюджетное общеобразовательное учреждение города
Москвы «Школа № 1155»
СОЗДАНИЕ ПРОГРАММЫ ДЛЯ ПОИСКА ПАРНЫХ ПРОСТЫХ ЧИСЕЛ,
ПРЕВОСХОДЯЩИХ РАНЕЕ НАЙДЕННЫЕ
Участник:
ученик 10 «И» класса ГБОУ Школа
№ 1155 Васильев Олег Владимирович
Руководитель:
педагог ГБОУ Школа № 1155
Юсупова Кристина Олеговна
Москва, 2025

2.

Цель работы
Целью моего проекта являются создание алгоритма по поиску простых чиселблизнецов и его программная реализация для нахождения нового наибольшего числаблизнеца.
2

3.

Программные средства
Среда программирования Visual Studio Code
Язык программирования C++
Библиотеки GMP и OpenMP
3

4.

Проблема
чисел-близнецов
4

5.

Начало алгоритма
Изначально генерируются числа вида 6k ± 1, начиная от наибольшего известного числа
близнеца – 2996863034895 * 21290000 ± 1
5

6.

Проверка на простоту
После этого полученные числа проходят проверяются на простоту,
при помощи теста
алгоритма состоящего из двух частей:
1. тест на деление на простые числа до 10000
2. тест Миллера – Рабина (вероятностный тест на простоту)
Встроенная функция библиотеки GMP оказалась быстрее чем написанный вручную алгоритм,
так что была использована именно она.
6

7.

Параллельные вычисления
Благодаря параллельным вычислениям
была достигнута высокая
производительность программы, например
был использован цикл в каждом потоке
которого числа проверялись на простоту.
7

8.

Формат вывода
Для удобства записи числа будут
выводиться в формате n * 2s ± 1, в
случае если они простые и
небольшая пометка с количеством
проверенных чисел, если числа
оказались составными.
Вывод чисел
простых чисел
Вывод составных
чисел
8

9.

Удаленный сервер
Для лучшей производительности
программа была запущена на
удаленном сервере, основной
деталью которого был процессор
AMD Ryzen 9 5900X, который имеет
12 ядер и 24 потока с частотой 3.7
ГГц.
Сервер был приобретён здесь:
https://hostkey.ru/dedicated-servers/ultra-fast/#
Доступ к серверу осуществлялся
при помощи IPMI интерфейса.
9

10.

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

11.

Список литературы
1.
К.
Ю.
Поляков.
Программирование.
Python.
C++
:
учебное
пособие
для
пособие
для
пособие
для
пособие
для
общеобразовательных организаций : в 4 ч. : издание «Просвещение» / Ч. 1
2.
К.
Ю.
Поляков.
Программирование.
Python.
C++
:
учебное
общеобразовательных организаций : в 4 ч. : издание «Просвещение» / Ч. 2
3.
К.
Ю.
Поляков.
Программирование.
Python.
C++
:
учебное
общеобразовательных организаций : в 4 ч. : издание «Просвещение» / Ч. 3
4.
К.
Ю.
Поляков.
Программирование.
Python.
C++
:
учебное
общеобразовательных организаций : в 4 ч. : издание «Просвещение» / Ч. 4
5.
Тест
простоты
Миллера-Рабина
[Электронный
ресурс]
URL:
https://foxford.ru/wiki/informatika/test-prostoty-millera-rabina (дата обращения: 13 ноября 2024)
6.
Онлайн-энциклопедия целочисленных последовательностей (OEIS) [Электронный
ресурс] URL: oeis.org (дата обращения: 6.09.24)
11

12.

Спасибо за внимание!
English     Русский Rules