G
Golang | LeetCode
@easy_golang_task3.8K подп.
279просмотров
7.4%от подписчиков
22 марта 2026 г.
statsScore: 307
Задача: 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. 😎 Решение: func checkPerfectNumber(num int) bool { if num <= 0 { return false } sum := 0 for i := 1; ii <= num; i++ { if num%i == 0 { sum += i if ii != num { sum += num / i } } } return sum-num == num } Ставь 👍 и забирай 📚 Базу знаний
279
просмотров
1286
символов
Да
эмодзи
Нет
медиа

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

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