UML EditorОткрыть редактор

Задачи / Числа / Сумма цифр числа

Сумма цифр числа: блок-схема и алгоритм

Последняя цифра числа — это остаток от деления на 10, а n div 10 отбрасывает её. Повторяем, пока число не кончится, складывая цифры.

Блок-схема: Сумма цифр числа

Алгоритм по шагам

  1. Ввести n.
  2. Присвоить s = 0.
  3. Пока n > 0: s = s + n mod 10, n = n div 10.
  4. Вывести s.

Открыть блок-схему в редакторе

Пример работы

Входn = 4096
Шаг 1s = 0 + 6 = 6, n = 409
Шаг 2s = 6 + 9 = 15, n = 40
Шаг 3s = 15 + 0 = 15, n = 4
Шаг 4s = 15 + 4 = 19, n = 0
Результат19

Решение на Python

n = int(input())
s = 0
while n > 0:
    s += n % 10
    n //= 10
print(s)

Решение на Pascal

var n, s: integer;
begin
  readln(n);
  s := 0;
  while n > 0 do
  begin
    s := s + n mod 10;
    n := n div 10;
  end;
  writeln(s);
end.

Код блок-схемы

Схема выше нарисована по этому псевдокоду. Скопируйте его в редактор блок-схем или нажмите «Открыть блок-схему в редакторе».

блок-схема: Сумма цифр числа
начало
ввод n
s = 0
пока n > 0
    s = s + n mod 10
    n = n div 10
вывод s
конец

Сложность

O(количество цифр) = O(log n). Так же считают количество цифр (k = k + 1) или переворачивают число.

Частые ошибки

  • Обычное деление / вместо целочисленного: в Python n / 10 даёт дробь и цикл не закончится правильно.
  • Отрицательное число: сначала возьмите модуль.
  • Перепутать порядок: если сначала разделить n, последняя цифра потеряется.

Похожие задачи

Обозначения фигур и синтаксис кода блок-схем — в справочнике: блок-схема по ГОСТ 19.701. Все задачи.