Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Two approaches to the sum of digits
- Разберём решение и посмотрим, как та же задача решается другим способом.
- Задача
- Найти сумму цифр натурального числа n, например для 1234 ответ 1 + 2 + 3 + 4 = 10.
- Решение
- ``python
- 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 убирает её. Цикл продолжается, пока число не станет нулём.
- Пример работы
- `text
- 10
- ``
- Сложность
- O(log n) по времени — по числу цифр, O(1) по памяти.
- Альтернативный подход
- Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.
- Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.
- View Full Gallery → https://go.cbrop.com/prse
- Related:
- https://paste2.org/bfY7XbPx
- https://pastebin.com/xxbk1rUm
- https://mega.nz/file/fopmhDTZ#IcjjLx8iUC46Q1QLPYzXk_SxCnr4dlIg0_Rya8MV6Lw
- https://radicle.network/nodes/seed.pipapo.org/rad%3Az3T6sGtVdV55uCXwf71VAbaZqQ1bt/issues/d6b860339ceb990d2adbbbde717f4b75bfbf221d
- https://mycommunitycalendars.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/mirbezumia-105d45.pdf
Add Comment
Please, Sign In to add comment