Ответ: Максимальное число в последовательности
max_value = 0
while True:
x = int(input())
if x == 0:
break
if x % 9 == 1 and x > max_value:
max_value = x
if max_value == 0:
print('NO')
else:
print(max_value)
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с основанием 9 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO». Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 — признак окончания ввода, в последовательность не входит). Программа должна вывести одно десятичное число — наибольший элемент последовательности, запись которого в 9-ричной системе счисления оканчивается цифрой 1, или «NO», если среди входных данных таких элементов нет.
Где здесь ошибаются
Проверяют делимость числа на 9, хотя требуется остаток 1.
Обрабатывают число 0 как элемент последовательности.
Выводят 0 вместо NO, если подходящих чисел нет.
Ищут первое подходящее число, а не наибольшее.