Skip to main content

Command Palette

Search for a command to run...

Exploring the sum of digits

Updated
•1 min read•View as Markdown

В этом материале мы спокойно и по шагам разберём учебную задачу на программирование.

Задача

Найти сумму цифр натурального числа 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) по памяти.

Это решение удобно как отправная точка для экспериментов: попробуйте изменить входные данные и проследить за поведением кода.

Читайте также:

программирование · решение · изменить · Задача · шагам · станет · поведением · выделяет · total · разберём · убирает · while · python · данные · памяти · Решение · проследить · спокойно · попробуйте · учебную · экспериментов · числа · например · ответ · работает

More from this blog

N

News

576 posts