Покажу решение и коротко сравню его с альтернативным подходом.
Задача
Найти сумму цифр натурального числа n, например для 1234 ответ 1 + 2 + 3 + 4 = 10.
Решение
def digit_sum(n: int) -> int:
total = 0
while n > 0:
total += n % 10 # берём последнюю цифру
n //= 10 # отбрасываем её
return total
print(digit_sum(1234))
Как это работает
Операция n % 10 выделяет последнюю цифру, а целочисленное деление n //= 10 убирает её. Цикл продолжается, пока число не станет нулём.
Пример работы
10
Сложность
O(log n) по времени — по числу цифр, O(1) по памяти.
Альтернативный подход
Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.
Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.
---
Related:
- gals of gurk - 男娘调教 - Innocams Forum: Amateur Nude Photos, Flashing and Live Cam Clips - Maddie Mochi Nude: Free Pics, Videos & OnlyFans Leaks - Типичные ошибки при решении: возведение в степень - xxwwnn - Fsiblog Porn Videos: Free Russian, Indian and BDSM Clips - shadow milk cookie rule 34 - Tristan Summers Glory Hole Gallery, Hardcore Blowjob & Swallow Scenes - Ловушки новичков при решении: подсчёт частот слов - سكس عراقي xnxx - masha siberian nude - Частые ошибки при решении: сумма цифр числа - nagoonation - Capella Re:Zero Hentai Gallery: Anime Adult Art Collection - Desi Nude Facebook – Indian Girls Nude Pics and Videos - Проверяем решение тестами: проверка числа на простоту - Рассматриваем задачу: переворот строки - irem derici ifşa - Медленно и подробно: сортировка пузырьком - Idempotent publishing jobs #6mcdb
Kommentit