Подсчёт суммы цифр числа
💻 Информатика · 8 класс
Постановка задачи
Сумма цифр числа — это результат сложения всех цифр, из которых записано число. Например, у числа 482 сумма цифр равна 4 + 8 + 2 = 14. Эта классическая задача очень полезна для обучения: она объединяет сразу три приёма — цикл, деление с остатком и накопление суммы. На её основе строят и более сложные задачи: проверку делимости на 3, нахождение цифрового корня и другие.
Идея алгоритма
Чтобы добраться до каждой цифры, используют две операции целочисленной арифметики:
- остаток от деления на 10 (
mod 10) даёт последнюю цифру числа; - целочисленное деление на 10 (
div 10) «отрезает» последнюю цифру, оставляя остальные.
Повторяя эти два действия в цикле, пока число не превратится в ноль, мы переберём все цифры справа налево и сложим их в накопителе. Этот приём работает с числом любой длины, ведь мы не знаем заранее, сколько в нём разрядов.
Разбор на примере
Возьмём число 482 и подробно проследим работу цикла шаг за шагом.
| Шаг | Число | Остаток (цифра) | Сумма | Число после деления |
|---|---|---|---|---|
| старт | 482 | — | 0 | 482 |
| 1 | 482 | 2 | 2 | 48 |
| 2 | 48 | 8 | 10 | 4 |
| 3 | 4 | 4 | 14 | 0 |
Когда число стало нулём, цикл завершается, и в переменной суммы хранится готовый ответ — 14.
Запись алгоритма
В виде команд алгоритм выглядит коротко и понятно:
сумма = 0
пока n > 0
сумма = сумма + (n mod 10)
n = n div 10
конец
Здесь mod — это остаток от деления, а div — целочисленное деление. Если бы мы хотели сохранить исходное число, его стоило бы скопировать во вспомогательную переменную, ведь в цикле n разрушается.
Где пригодится этот приём
Разбор числа на цифры применяется во многих задачах. По сумме цифр проверяют делимость на 3 и на 9: число делится на 3 тогда и только тогда, когда на 3 делится сумма его цифр. На том же приёме строят подсчёт количества цифр, поиск наибольшей и наименьшей цифры числа, проверку числа на палиндром. Освоив разбор числа на цифры, вы получаете универсальный инструмент для целого класса задач, который пригодится и в основной, и в старшей школе.
Частые ошибки. Не забудьте обнулить переменную суммы перед циклом, иначе в неё попадёт случайный «мусор» и ответ будет неверным. Условие цикла должно бытьn > 0: если написатьn >= 0, цикл станет бесконечным, ведь ноль из ноля никогда не уйдёт. И помните, что приём подходит для натуральных чисел.
Кратко о главном
- Сумма цифр — это сложение всех цифр записи числа.
- Последнюю цифру даёт остаток от деления на 10.
- Целочисленное деление на 10 убирает последнюю цифру.
- Цикл повторяется, пока число больше нуля.
- Переменную суммы нужно обнулить до начала цикла.
- Приём работает с числом любой длины.