Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех двузначных чисел, кратных 8. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 20. Введённые числа не превышают 1500.
Программа должна вывести одно число: сумму всех двузначных чисел, кратных 8.
Пример работы программы:
Входные данные | Выходные данные |
17 32 160 0 | 48 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо организовать цикл, который будет считывать числа до тех пор, пока не встретится число . Для каждого введённого числа мы должны проверить два условия одновременно: является ли оно двузначным и делится ли оно на .
Шаг 1: Определение переменных.
Нам понадобятся две переменные:
1. Переменная для хранения текущего введённого числа (например, ).
2. Переменная для накопления суммы (например, ). В начале программы её нужно обнулить: .
Шаг 2: Условия проверки.
Число является двузначным, если оно находится в диапазоне от до включительно. Математически это записывается как .
Число кратно , если остаток от его деления на равен . В программировании это записывается как .
Шаг 3: Алгоритм действий.
1. Считываем первое число.
2. Пока считанное число не равно :
а) Проверяем: () И () И ().
б) Если условие верно, прибавляем к сумме .
в) Считываем следующее число.
3. После окончания цикла выводим итоговое значение .
Пример работы на числах из условия:
- : двузначное, но не делится на . Пропускаем.
- : двузначное, делится на . Сумма .
- : двузначное, делится на . Сумма .
- : делится на , но не двузначное (трехзначное). Пропускаем.
- : конец ввода.
Итог: .
Программная реализация (на языке Python):
s = 0
x = int(input())
while x != 0:
if 10 <= x <= 99 and x % 8 == 0:
s += x
x = int(input())
print(s)
Ответ: 48
Источник: ФИПИ