Представьте, что у вас есть лист бумаги с отверстием, достаточно большим, чтобы показать одну цифру.Чтобы получить сумму цифр, вы должны поместить эту бумагу поверх своего номера, чтобы отображались цифры.Вы записываете эту цифру куда-то вниз.Затем вы сдвигаете свой номер вправо, чтобы цифра десятков оказалась под отверстием.Вы добавляете это к предыдущей цифре, которую вы записали, и так далее до тех пор, пока не останется больше цифр.
Кусок бумаги с отверстием - это операция по модулю и скольжение числа вправо на каждомшаг - операция деления на 10.
И, чтобы привести конкретный пример вычисления:
Скажем, число 576.
576 % 10 = 6
, поэтому мы выбралиот 6, и мы добавляем это к текущей сумме 0, чтобы получить 6. Затем вы делите целочисленное деление на 10:
576 / 10 = 57
Теперь вы по модулю:
57 % 10 = 7
, поэтому мыЯ выбрал 7 и могу добавить это к промежуточной сумме 6, чтобы получить 13. Затем это целочисленное деление на 10 снова:
57 / 10 = 5
И снова по модулю:
5 % 10 = 5
Мы отобрали последнюю цифру и добавили ее к текущей сумме, чтобы получить 18 - сумму цифр.Затем мы снова делим на 10:
5 / 10 = 0
И так как это ноль, условие цикла (n > 0
) теперь ложно, и мы заканчиваем.
Таким образом, модуль используется для выбораот самой правой цифры текущего номера, и деление используется для того, чтобы каждая цифра по очереди была самой правой цифрой.