Является ли 24 совершенным числом?

Изучаю программирование для себя и дошёл до задания, где нужно написать программу по поиску и разложению на множители совершенных чисел. У меня в учебнике по программированию пишется, что совершенное число - это то число, сумма делителей которого, включая 1, но не включая само число = этому же числу. Первым числом программа вывела 6, вторым - 24, третьим 28. Смотрел в инете, везде пишут, что второе число должно быть 28. Думал, может не правильно код написал, но вот множители: 24 = 1 + 2 + 3 + 4 + 6 + 8. Всё сходится. Так же программа вывела ещё несколько чисел, которых нет в интернет таблицах! Почему у меня результаты расходятся с тем, что пишут в инете?
2 года назад от Тёма

2 Ответы

0 голосов
Ты из делителей 12 забыл.

А вобще сумма всех делителей числа - мультипликативная ариметическая функция, поэтому посчитать е можно достаточно легко. Раскладываем 12 на произведение степеней простых чисел и считаем:
s (24) = s (2^3) *s (3) = (1 + 2 + 4 + 8) * (1 + 3) = (2^4 - 1) * (1 + 3) = 60.
Ну и вычитаем сам делитель 24, раз нас просили в определении совершенного числа его не учитывать. 60 - 24 = 36.
Как раз получлось на 12 больше, чем у тебя.
2 года назад от Annie !
0 голосов
Не является.
Барахлит блок, находящий все делители. Находит не все.
Был бы описан алгоритм нахождения всех делителей, мог бы сказать что-то боле содержательное.
2 года назад от Kathryncah

Связанные вопросы