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

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наименьший элемент, запись которого в системе счисления с основанием 9 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10 000), затем N натуральных чисел, не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно десятичное число – наименьший элемент последовательности, запись которого в 9-ричной системе счисления оканчивается цифрой 1, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
5 10 9 11 91 2810
Показать ответ
n = int(input()); best = None; for _ in range(n):; x = int(input()); if x % 9 == 1 and (best is None or x < best):; best = x; if best is None:; print('NO'); else:; print(best)
Подсказки (3)
  1. Как определить последнюю цифру записи числа в системе счисления с основанием 9, не переводя число полностью?
  2. Последняя цифра записи числа в системе счисления с основанием 9 равна остатку от деления этого числа на 9.
  3. Для каждого числа проверьте условие x mod 9=1, обновляйте минимум среди подходящих чисел, а при отсутствии минимума выведите NO.
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 9 определяется остатком от деления этого числа на 9. Поэтому подходящими являются числа, для которых остаток равен 1.
x mod 9=1

2. Перебираем все N чисел. Если число подходит, сохраняем его, если оно меньше текущего найденного минимума.

3. Для обозначения отсутствия найденного числа удобно использовать значение None. После обработки всех чисел выводим минимум либо строку NO.

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

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

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

16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 1F901516Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 20C64316Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на…Задания открытого банка ФИПИ · 20E8E316Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4.…Задания открытого банка ФИПИ · 212EDE16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 24DC9F16Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и…Задания открытого банка ФИПИ · 2AC62616Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 2ADBE916Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6 и…Задания открытого банка ФИПИ · 2C42CA

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

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

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

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

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

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

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