Тадасана
Просветленный
(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 больше, чем у тебя.
В программе, правда, ты заколебешься число на простые множители раскладывать - тебе ж сейчас нужна программа попроще, а не та, которая работает побыстрее.