Один из алгоритмов поиска совершенных чисел заключается в следующем: 1
- Проверка функции для определения совершенности числа. 1 Для этого суммируют все делители числа, кроме самого числа. 1
- Перебор всех чисел от нижней до верхней границы диапазона. 1 Для каждого числа проверяют его на совершенство с помощью функции. 1
- Вывод совершенного числа, если сумма делителей равна самому числу. 1
Также для поиска совершенных чисел можно использовать формулу Эйлера: P = 2p−1 × (2p−1), где 2p−1 — это простое число (называемое числом Мерсенна). 2 В этом случае сначала нужно найти простые числа Мерсенна. 2
Ещё один алгоритм получения совершенных чисел, предложенный в статье на сайте dzen.ru, состоит в следующем: 3
- Берут два ряда: ряд первичных несоставных, то есть простых чисел, и ряд чётного-чётных чисел, начиная с единицы. 3
- Последовательно складывают каждое число чётного-чётного ряда с суммой предыдущих чисел этого ряда. 3
- Если полученная сумма находится в ряду простых чисел, то умножают её на последнее прибавленное чётное-чётное число и получают совершенное число. 3
- Если же полученная сумма не находится в ряду простых чисел, то продолжают прибавлять к ней последовательные чётные-чётные числа и проверять на первичность. 3
- Продолжают выполнять алгоритм для поиска следующих совершенных чисел. 3