Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Лёха Лещенко Знаток (380), закрыт 3 года назад
Изучаю программирование для себя и дошёл до задания, где нужно написать программу по поиску и разложению на множители совершенных чисел. У меня в учебнике по программированию пишется, что совершенное число - это то число, сумма делителей которого, включая 1, но не включая само число = этому же числу. Первым числом программа вывела 6, вторым - 24, третьим 28. Смотрел в инете, везде пишут, что второе число должно быть 28. Думал, может не правильно код написал, но вот множители: 24 = 1 + 2 + 3 + 4 + 6 + 8. Всё сходится. Так же программа вывела ещё несколько чисел, которых нет в интернет таблицах! Почему у меня результаты расходятся с тем, что пишут в инете?
Лучший ответ
olegbI4 Искусственный Интеллект (108010) 3 года назад
а где делитель 12?
1+2+3+4+6+8+12
Лёха ЛещенкоЗнаток (380) 3 года назад
У 24? Так и без него в сумме 24 получается.
olegbI4 Искусственный Интеллект (108010) Лёха Лещенко, сумма ВСЕХ делителей равна этому числу, а не части делителей. 6 = 1+2+3 28= 1+2+4+7+14
Лёха ЛещенкоЗнаток (380) 3 года назад
Про 12)
Остальные ответы
Добрый Вомбат Мыслитель (8994) 3 года назад
1001 делится на 77
Лёха ЛещенкоЗнаток (380) 3 года назад
Не понял
Добрый Вомбат Мыслитель (8994) Лёха Лещенко, проверь
Анемподест Фитюлькин Просветленный (45607) 3 года назад
Не является.
Барахлит блок, находящий все делители. Находит не все.
Был бы описан алгоритм нахождения всех делителей, мог бы сказать что-то более содержательное.
Лёха ЛещенкоЗнаток (380) 3 года назад
Но ведь сходится, даже если в уме считать: 24 = 1 + 2 + 3 + 4 + 6 + 8 = 24. Или я не правильно понимаю суть совершенных чисел?
Анемподест Фитюлькин Просветленный (45607) Лёха Лещенко, Вы неправильно понимаете "все множители". Просто погуглите число 24 там будет туева хуча информации про число. Список множителей в том числе.
Тадасана Просветленный (41955) 3 года назад
Ты из делителей 12 забыл.

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

В программе, правда, ты заколебешься число на простые множители раскладывать - тебе ж сейчас нужна программа попроще, а не та, которая работает побыстрее.
Похожие вопросы