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

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с основанием 9 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 9-ричной системе счисления оканчивается цифрой 1, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
10 9 11 91 28 091
Показать ответ
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)
Подсказки (3)
  1. Как определить последнюю цифру записи числа в системе счисления с основанием 9, не переводя всё число в эту систему?
  2. Последняя цифра записи числа в системе счисления с основанием 9 равна остатку от деления этого числа на 9.
  3. Обрабатывайте числа до появления 0; если x mod 9=1, обновляйте максимум. Отдельно храните признак того, что подходящее число найдено.
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 9 определяется остатком от деления этого числа на 9. Поэтому число подходит, если остаток равен 1.
x mod 9=1

2. Считываем числа по одному. При получении 0 завершаем ввод, не обрабатывая это число.

3. Для подходящих чисел сохраняем наибольшее. Переменная max_value может быть сначала равна 0, так как все числа натуральные и положительные.

4. Если подходящих чисел не найдено, выводим строку NO; иначе выводим найденный максимум.

5. Один из корректных вариантов программы:
Частые ошибки
  • Проверяют делимость числа на 9, хотя требуется остаток 1.
  • Обрабатывают число 0 как элемент последовательности.
  • Выводят 0 вместо NO, если подходящих чисел нет.
  • Ищут первое подходящее число, а не наибольшее.

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

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

16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и…Задания открытого банка ФИПИ · CAF69116Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент…Задания открытого банка ФИПИ · CC754016Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · D528C016Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел…Задания открытого банка ФИПИ · D7DDF716Напишите программу для решения следующей задачи. На соревнованиях по бегу на 5000 метров для выхода в финал…Задания открытого банка ФИПИ · DB34E216Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество…Задания открытого банка ФИПИ · DBFBCC16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · DD15CA16Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3.…Задания открытого банка ФИПИ · DE6B1E

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

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

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

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

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

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

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