1.1Kпросмотров
11.4%от подписчиков
10 марта 2026 г.
statsScore: 1.2K
Задача: 258. Add Digits
Сложность: easy Дано целое число num. Повторно складывайте все его цифры, пока результат не станет однозначным, и верните его. Пример:
Input: num = 38
Output: 2
Explanation: The process is
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2 Since 2 has only one digit, return it. 👨💻 Алгоритм: 1️⃣Инициализируйте переменную digital_root значением 0. 2️⃣В цикле, пока num больше 0:
Добавьте к digital_root последнюю цифру num.
Уменьшите num, удалив последнюю цифру.
Если num равно 0 и digital_root больше 9, присвойте num значение digital_root и сбросьте digital_root в 0. 3️⃣Верните значение digital_root. 😎 Решение:
class Solution: def addDigits(self, num: int) -> int: digital_root = 0 while num > 0: digital_root += num % 10 num //= 10 if num == 0 and digital_root > 9: num = digital_root digital_root = 0 return digital_root Ставь 👍 и забирай 📚 Базу знаний