16.01 Создание и выполнение программы на универсальном языке программирования
Ошибка.
Попробуйте повторить позже
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с основанием 9 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 9-ричной системе счисления оканчивается цифрой 1, или «NO», если среди входных данных таких элементов нет.
Пример работы программы:
Входные данные | Выходные данные | ||||||
| 91 | ||||||
Источники:
Идея решения:
Идея решения заключается в том, что сначала мы считаем первое число последовательности, затем будет объявлена переменная, которая в последствии будет хранить максимальное число в последовательности, которое в девятиричной системе счисления оканчивается на 1. Для того чтобы определить такое число будет написан цикл, который будет выполняться до тех пор пока текущее число не равно 0 и внутри него мы будем проверять по одному числу из последовательности, сравнивая его значение со значением, хранящимся в переменной для максимума и проверяя, что в девятиричной записи оканчивается на 1.
x = int(input()) # считываем первое число из последовательности mx = 0 # максимальное число последовательности, оканчивающееся в семиричной записи на нечётную цифру while x != 0: # цикл, который работает пока текущее число не равно 0 if x % 9 == 1 and x > mx: # Проверяем остаток от деления на 9 у текущего числа и сравниваем с максимумом mx = x # обновляем максимум в случае выполнения условия x = int(input()) # считываем следующее число из последовательности if mx == 0: # если подходящего числа в последовательности не было print("NO") else: # в ином случае print(mx) # вывод максимального числа
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!