Создавать и выполнять программы на универсальном языке программирования · 170 заданий
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с осн…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с осн…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в системе счисления с основанием 5 четырёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа,
не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых
в системе счисления с основанием 5 оканчивается нечётной цифрой,
или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
12 15 10 71 50 11 0 | 41 |
Решение
Решение.
Для решения этой задачи нам необходимо последовательно считывать числа до тех пор, пока не встретится 0. Для каждого числа нужно проверить условие и, если оно выполняется, обновить переменные для расчёта среднего арифметического.
Шаг 1: Разбор условия.
Нам нужно найти числа, запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой.
В любой системе счисления с основанием n последняя цифра числа — это остаток от деления этого числа на n.
Следовательно, последняя цифра в пятеричной системе — это остаток от деления десятичного числа на 5.
Нам подходят числа, у которых этот остаток нечётный, то есть равен 1 или 3 (так как остатки при делении на 5 могут быть только 0, 1, 2, 3, 4).
Шаг 2: Алгоритм действий.
1. Создадим две переменные: sum_val для накопления суммы подходящих чисел и count для их подсчёта. Изначально обе равны 0.
2. Организуем цикл чтения чисел. Будем считывать число x. Если x=0, прерываем цикл.
3. Для каждого x проверяем условие: (x(mod5))(mod2)=0. Это означает, что остаток от деления на 5 является нечётным числом.
4. Если условие верно, прибавляем x к sum_val и увеличиваем count на 1.
5. После окончания цикла проверяем: если count>0, вычисляем среднее арифметическое как sum_val/count. Если count=0, выводим «NO».
Шаг 3: Пример реализации на языке Python.
sum_val = 0
count = 0
x = int(input())
while x != 0:
last_digit_5 = x % 5
if last_digit_5 % 2 != 0:
sum_val += x
count += 1
x = int(input())
if count > 0:
print(sum_val / count)
else:
print("NO")
Шаг 4: Проверка на примере.
Входные данные: 12, 15, 10, 71, 50, 11, 0.
- 12: 12(mod5)=2 (чётная) — пропускаем.
- 15: 15(mod5)=0 (чётная) — пропускаем.
- 10: 10(mod5)=0 (чётная) — пропускаем.
- 71: 71(mod5)=1 (нечётная) — подходит. sum_val=71, count=1.
- 50: 50(mod5)=0 (чётная) — пропускаем.
- 11: 11(mod5)=1 (нечётная) — подходит. sum_val=71+11=82, count=2.
Среднее арифметическое: 82/2=41.0.
Ответ: 41.0
Источник: ФИПИ