Задание 16 ОГЭ по информатике · B8CB8B

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с основанием 9 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10 000), затем N натуральных чисел, не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 9-ричной системе счисления оканчивается цифрой 1, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
5 10 9 11 91 2891
Показать ответ
Проверять условие x % 9 == 1 и вывести максимальное подходящее число либо NO.
Подсказки (3)
  1. Как определить последнюю цифру числа в системе счисления с основанием 9 без перевода всего числа?
  2. Последняя цифра записи числа в системе счисления с основанием 9 равна остатку от деления этого числа на 9.
  3. Для каждого числа проверьте условие x mod 9=1 и обновите максимум. Если подходящих чисел не было, выведите «NO».
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 9 определяется остатком от деления этого числа на 9. Поэтому подходящие числа удовлетворяют условию:
x mod 9=1

2. Последовательно считываем все N чисел. Для каждого подходящего числа сравниваем его с текущим максимумом и сохраняем большее значение.
m=max(m,x)

3. Начальное значение максимума удобно заменить на `None`. Если после обработки всех чисел оно осталось равным `None`, подходящих элементов нет, поэтому выводим «NO».

4. Один из вариантов программы на Python:
n = int(input())
maximum = None
for _ in range(n):
x = int(input())
if x % 9 == 1:
if maximum is None or x > maximum:
maximum = x
print(maximum if maximum is not None else 'NO')
Частые ошибки
  • Переводят число в строку или в другую систему счисления, хотя достаточно найти остаток от деления на 9.
  • Проверяют делимость на 9, то есть условие x % 9 == 0, вместо остатка 1.
  • Выводят 0 или другое начальное значение, если подходящих чисел нет, вместо «NO».
  • Забывают обработать первое подходящее число при инициализации максимума.

Источник: Открытый банк ФИПИ

Похожие задания

16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · B1D01316Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · B6EBF216Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · B8801216Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 8.…Задания открытого банка ФИПИ · B8BD2716Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и…Задания открытого банка ФИПИ · B8D5FC16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на…Задания открытого банка ФИПИ · B92B2516Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · B9E24F16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6 и…Задания открытого банка ФИПИ · BA6BE0

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ОГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.