J
Java | LeetCode
@easy_java_task6.8K подп.
393просмотров
5.8%от подписчиков
24 марта 2026 г.
statsScore: 432
Задача: 507. Perfect Number Сложность: easy Совершенное число — это положительное целое число, которое равно сумме своих положительных делителей, исключая само число. Делитель целого числа x — это целое число, которое может делить x нацело. Дано целое число n, верните true, если n является совершенным числом, в противном случае верните false. Пример: Input: num = 28 Output: true Explanation: 28 = 1 + 2 + 4 + 7 + 14 1, 2, 4, 7, and 14 are all divisors of 28. 👨‍💻 Алгоритм: 1⃣Инициализация Если число num меньше или равно 0, вернуть false. Инициализируйте переменную sum значением 0. 2⃣Поиск делителей и вычисление суммы Переберите числа от 1 до квадратного корня num. Если число является делителем num, добавьте его к sum. Если делитель не равен квадратному корню num, добавьте к sum также результат деления num на делитель. 3⃣Проверка на совершенное число Вычтите num из sum. Если результат равен num, вернуть true, иначе вернуть false. 😎 Решение: public boolean checkPerfectNumber(int num) { if (num <= 0) { return false; } int sum = 0; for (int i = 1; i i <= num; i++) { if (num % i == 0) { sum += i; if (i i != num) { sum += num / i; } } } return sum - num == num; } } Ставь 👍 и забирай 📚 Базу знаний
393
просмотров
1381
символов
Да
эмодзи
Нет
медиа

Другие посты @easy_java_task

Все посты канала →
Задача: 507. Perfect Number Сложность: easy Совершенное числ — @easy_java_task | PostSniper