Наибольший, наименьший элемент (2 часть). № 16 ОГЭ

2 часть подборки заданий на определение наибольшего/наименьшего числа, удовлетворяющих заданным условиям. Количество чисел заранее неизвестно.

CC7540

Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого
в системе счисления с основанием 7 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».

Программа получает на вход натуральные десятичные числа,
не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).

Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 7-ричной системе счисления оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.

Пример работы программы

Входные данныеВыходные данные
12
15
10
71
50
11
0
71

Программа

В список numbers будем помещать все удовлетворяющие условию числа.

Наибольший наименьший элемент 1_2

Обозначим вводимое число number. Вводим первое число:

Наибольший наименьший элемент 2_2

В цикле вводим и проверяем числа до тех пор, пока не введём 0:

Наибольший наименьший элемент 2_3

Проверяем соответствие введённого числа условию.

Сначала определим последнюю цифру числа, записанного в семеричной системе счисления. Для этого введём переменную x. Первоначально, она примет значение введённого числа.

Будем делить x на семь до тех пор, пока не получим остаток меньше семи.

Если найденный остаток нечётный, добавим число в список:

Наибольший наименьший элемент 1_4

Вводим следующее число:

После ввода и проверки всех чисел (то есть выхода из цикла после ввода 0), выводим результат. Если список с подходящими числами непустой (его длина больше нуля), выводим наибольшее число из него. Если же элементов не добавили, выводим ‘NO’.

Наибольший наименьший элемент 1_5

Вариант решения полностью:

Наибольший наименьший элемент 2_1

В решении следующего задания изменится только проверка условия, которому должны соответствовать числа.

№D9A7E1

Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого
в системе счисления с основанием 9 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO».

Программа получает на вход натуральные десятичные числа,
не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).

Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 9-ричной системе счисления оканчивается цифрой 1, или «NO», если среди входных данных таких элементов нет.

Пример работы программы

Входные данныеВыходные данные
10
9
11
91
28
0
91

Решение

Изменения в программу CC7540:

while x > 9: x %= 9
if x == 1: numbers.append(number)


Отличие следующего задания в том, что нужно найти не наибольший, а наименьший элемент.

№6D7939

Напишите программу, которая в последовательности натуральных десятичных чисел определяет наименьший элемент, запись которого
в системе счисления с основанием 9 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO».

Программа получает на вход натуральные десятичные числа,
не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).

Программа должна вывести одно десятичное число – наименьший элемент последовательности, запись которого в 9-ричной системе счисления оканчивается цифрой 1, или «NO», если среди входных данных таких элементов нет.

Пример работы программы

Входные данныеВыходные данные
10
9
11
91
28
0
10

Решение

Изменения в программу CC7540:

while x > 9: x %= 9
if x == 1: numbers.append(number)
if len(numbers) > 0: print(min(numbers))
else: print(‘NO’)

Задания из Банка заданий ОГЭ