Контрольные задания > Задание 1: Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел, кратных 8. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести среднее арифметическое двузначных чисел, кратных 8.
Вопрос:
Задание 1: Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел, кратных 8. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести среднее арифметическое двузначных чисел, кратных 8.
Ответ:
Для решения данной задачи, необходимо написать программу, которая будет считывать натуральные числа до тех пор, пока не встретится 0. Программа должна находить среди введенных чисел двузначные числа, кратные 8, и вычислять их среднее арифметическое. Если таких чисел нет, то ничего выводить не нужно.
Вот псевдокод программы:
1. Инициализировать переменную `sum` для хранения суммы двузначных чисел, кратных 8, и переменную `count` для подсчета их количества.
2. Считывать числа из ввода до тех пор, пока не встретится 0.
3. Для каждого введенного числа проверить, является ли оно двузначным (то есть, находится в диапазоне от 10 до 99) и кратным 8 (то есть, остаток от деления на 8 равен 0).
4. Если число соответствует обоим условиям, добавить его к `sum` и увеличить `count` на 1.
5. После завершения ввода проверить, является ли `count` больше 0.
6. Если `count` больше 0, вычислить среднее арифметическое, разделив `sum` на `count`, и вывести результат.
7. Если `count` равно 0, ничего не выводить.
Пример реализации на Python:
```python
sum_numbers = 0
count = 0
while True:
num = int(input())
if num == 0:
break
if 10 <= num <= 99 and num % 8 == 0:
sum_numbers += num
count += 1
if count > 0:
average = sum_numbers / count
print(average)
```
В данном примере, программа считывает числа, проверяет условие двузначности и кратности 8. Если число удовлетворяет условиям, добавляем его к сумме и увеличиваем счетчик. После ввода всех чисел (до 0), вычисляем среднее арифметическое, если счетчик больше 0, и выводим результат.