Создавать и выполнять программы на универсальном языке программирования · 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
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого
в системе счисления с основанием 7 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа,
не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 7-ричной системе счисления оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
12 15 10 71 50 11 0 | 71 |
Решение
Решение.
Разберём задачу по шагам, чтобы понять логику работы алгоритма.
1. Анализ условия. Нам нужно найти максимальное число среди тех, чья запись в системе счисления с основанием 7 оканчивается на нечётную цифру. Числа вводятся до тех пор, пока не встретится 0.
2. Как определить последнюю цифру в 7-ричной системе? Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. В нашем случае последняя цифра числа x в 7-ричной системе равна x(mod7).
3. Условие нечётности. Цифра является нечётной, если она не делится на 2 без остатка. То есть нам нужно проверить условие: (x(mod7))(mod2)=0.
4. Поиск максимума. Для поиска наибольшего значения заведём переменную max_val. Изначально присвоим ей значение, которое меньше любого возможного натурального числа, например, −1. Если в процессе работы программы мы найдём число, подходящее под условие и большее, чем текущий max_val, мы обновим значение переменной.
5. Реализация на языке программирования (Python):
max_val = -1
x = int(input())
while x != 0:
last_digit_base7 = x % 7
if last_digit_base7 % 2 != 0:
if x > max_val:
max_val = x
x = int(input())
if max_val == -1:
print("NO")
else:
print(max_val)
6. Проверка на примере.
- Число 12: 12(mod7)=5. 5 — нечётное. max_val становится 12.
- Число 15: 15(mod7)=1. 1 — нечётное. 15>12, max_val становится 15.
- Число 10: 10(mod7)=3. 3 — нечётное. 10<15, max_val остаётся 15.
- Число 71: 71(mod7)=1. 1 — нечётное. 71>15, max_val становится 71.
- Число 50: 50(mod7)=1. 1 — нечётное. 50<71, max_val остаётся 71.
- Число 11: 11(mod7)=4. 4 — чётное, условие не выполняется.
- Число 0: конец ввода. Результат: 71.
Ответ: 71
Источник: ФИПИ