Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех однозначных чисел, кратных 3. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести одно число: сумму всех однозначных чисел, кратных 3.
Пример работы программы:
Входные данные | Выходные данные |
6 18 | 12 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо последовательно считывать числа, которые вводит пользователь, пока не встретим число . Для каждого введённого числа мы будем проверять два условия одновременно: является ли оно однозначным и делится ли оно на .
Разберём алгоритм по шагам:
1. Инициализация: Создадим переменную s (сумма), в которой будем накапливать результат. Изначально .
2. Ввод данных: Считаем первое число в переменную x.
3. Цикл обработки: Пока , будем выполнять следующие действия:
— Проверим условие: является ли число однозначным? Однозначные натуральные числа — это числа от до . Значит, .
— Проверим условие: кратно ли число ? Это значит, что остаток от деления на равен ().
— Если оба условия выполняются (число меньше И делится на ), прибавим это число к нашей сумме: .
— Считаем следующее число в переменную x, чтобы цикл мог продолжиться или завершиться.
4. Вывод: После того как цикл завершится (пользователь ввёл ), выведем итоговое значение переменной s.
Пример работы на числах из условия:
1. : однозначное (), кратно . Сумма .
2. : однозначное (), кратно . Сумма .
3. : не однозначное (). Пропускаем.
4. : не однозначное (). Пропускаем.
5. : конец ввода.
Итог: .
Код на языке Python:
s = 0
x = int(input())
while x != 0:
if x < 10 and x % 3 == 0:
s += x
x = int(input())
print(s)
Ответ: 12
Источник: ФИПИ