Тема 16. Написание программы на универсальном языке

16.01 Создание и выполнение программы на универсальном языке программирования

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела написание программы на универсальном языке
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#133143

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

Программа получает на вход в первой строке натуральное число — количество чисел N  (3 ≤ N ≤ 10000  ), затем N  натуральных чисел, не превышающих 30000  , каждое в отдельной строке.

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

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

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

Источники: Банк ФИПИ

Показать ответ и решение

Идея решения:

Идея решения заключается в том, что в отдельную переменную будет записано количество чисел в последовательности, затем будет объявлена переменная, которая в последствии будет хранить максимальное число в последовательности, которое в семиричной системе счисления оканчивается на нечётную цифру. Для того чтобы определить такое число будет написан цикл, который будет выполняться n раз и внутри него мы будем проверять по одному числу из последовательности, сравнивая его значение со значением, хранящимся в переменной для максимума и проверяя, что в семиричной записи оканчивается на нечётную цифру.

n = int(input()) # считываем количество чисел в последовательности
mx = 0 # максимальное число последовательности, оканчивающееся в семиричной записи на нечётную цифру
for i in range(n): # пишем цикл, который будет выполняться n раз
    x = int(input()) # считываем одно число из последовательности
    if (x % 7) % 2 != 0 and x > mx:  # Проверяем остаток от деления на 7 у текущего числа и сравниваем с максимумом
        mx = x # обновляем максимум в случае выполнения условия
if mx == 0: # если подходящего числа в последовательности не было
    print("NO")
else: # в ином случае
    print(mx) # вывод максимального числа
 

Ответ:

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!