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://pastebin.com/b3MwwbT6
- https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/bobocomics-adb8f5.pdf
- https://discuss.tchncs.de/post/65439972
- https://privatebin.devol.it/?e05eaf062926a580#5ThMV6eZgFwo3DDNMQrn8cHMRBewHuqAVZiUBB9jmqRp
- https://stills96338.mataroa.blog/blog/imogen-lucie-oil/
Advertisement
Add Comment
Please, Sign In to add comment