Решение
fun checkPerfectNumber(num: Int): Boolean {
if (num <= 1) return false // Число 1 и отрицательные числа не могут быть совершенными
var sum = 1 // Начинаем с 1, так как это делитель для всех положительных чисел
var i = 2
// Находим делители до квадратного корня из числа без использования Math.sqrt
while (i * i <= num) {
if (num % i == 0) {
sum += i // Добавляем делитель
if (i != num / i) {
sum += num / i // Добавляем соответствующий парный делитель, если он отличается
}
}
i++
}
return sum == num // Проверяем, равна ли сумма делителей самому числу
}