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

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с основанием 7 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10 000), затем N натуральных чисел, не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 7-ричной системе счисления оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
6 12 15 10 71 50 1171
Показать ответ
Программа должна проверять остаток от деления каждого числа на 7, находить максимум среди чисел с остатком 1, 3 или 5 и выводить NO при отсутствии таких чисел.
Подсказки (3)
  1. Какая операция позволяет определить последнюю цифру числа в системе счисления с основанием 7?
  2. Последняя цифра записи числа в системе счисления с основанием 7 равна остатку от деления числа на 7. Проверьте, является ли этот остаток одним из нечётных чисел 1, 3 или 5.
  3. Перебирайте все числа, если x mod 7∈{1,3,5}, обновляйте максимум. Если подходящих чисел не найдено, выведите NO.
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 7 определяется остатком от деления этого числа на 7.
d=x mod 7

2. Нечётные цифры в семеричной системе счисления — это 1, 3 и 5. Поэтому число подходит, если остаток от его деления на 7 принадлежит множеству {1, 3, 5}.
x mod 7∈{1,3,5}

3. Во время чтения чисел храним наибольшее подходящее значение. Изначально удобно использовать значение None, чтобы отличить отсутствие подходящих чисел от найденного числа.

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

5. Пример программы:
data = list(map(int, open(0).read().split()))
N = data[0]
maximum = None

for x in data[1:N + 1]:
if x % 7 in (1, 3, 5):
if maximum is None or x > maximum:
maximum = x

print(maximum if maximum is not None else 'NO')
Частые ошибки
  • Проверяют нечётность самого числа, а не последней цифры его семеричной записи.
  • Забывают, что остаток 0, 2, 4 или 6 соответствует чётной последней цифре.
  • Выводят 0 или другое начальное значение вместо NO, если подходящих чисел нет.
  • Сравнивают числа после перевода в семеричную систему, хотя для поиска максимума нужно сравнивать исходные десятичные значения.

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

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

16Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7.…Задания открытого банка ФИПИ · 02A26716Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 4.…Задания открытого банка ФИПИ · 04658716Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на…Задания открытого банка ФИПИ · 06D42C16Напишите программу, которая в последовательности целых чисел вычисляет сумму всех чисел, которые кратны 4 или…Задания открытого банка ФИПИ · 08A5D816Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов…Задания открытого банка ФИПИ · 0B731216Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 4 и…Задания открытого банка ФИПИ · 0B958016Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 0F8FD516Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее…Задания открытого банка ФИПИ · 0FCA49

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

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

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

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

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

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

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