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