РУҚА
16

Решение: Победитель математической викторины

ОГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИ41E9E1Развёрнутое решение≈ 10 минутРазбор в 4 шага
Условие

Напишите программу для решения следующей задачи.

Девятиклассники участвовали в викторине по математике. Необходимо было ответить на 20 вопросов. Победителем викторины считается участник, правильно ответивший на наибольшее количество вопросов. На сколько вопросов победитель ответил правильно? Если есть участники викторины, которые не смогли дать правильный ответ ни на один из вопросов, выведите YES, иначе выведите NO. Гарантируется, что есть участники, правильно ответившие хотя бы на один из вопросов.

Программа получает на вход число участников викторины N (1 ≤ N ≤ 50), затем для каждого участника вводится количество вопросов, на которые получен правильный ответ.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Считываем количество участников. Так как гарантируется наличие хотя бы одного положительного результата, максимум можно начать со значения 0.

$$n = int(input())$$
2

Для каждого участника считываем количество правильных ответов, обновляем максимум и запоминаем, встречался ли результат 0.

$$maximum = max(maximum, score)$$
3

После обработки всех участников выводим максимальное количество правильных ответов и соответствующее сообщение.

$$print(maximum); print('YES' if has_zero else 'NO')$$

Один из возможных вариантов программы:

$$n = int(input()) maximum = 0 has_zero = False for _ in range(n): score = int(input()) maximum = max(maximum, score) if score == 0: has_zero = True print(maximum) print('YES' if has_zero else 'NO')$$
Ответ

Программа должна вывести максимальное количество правильных ответов, затем YES, если среди результатов есть 0, и NO в противном случае.

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Выводят количество участников вместо максимального результата.

Проверяют на ноль только результат победителя, а не результаты всех участников.

Забывают обработать все N результатов.

Выводят YES и NO в обратном порядке или в одной строке вместо двух.

Закрепить приёмВ теме «Основы программирования» ещё 153 задачи — с ответом и таким же разбором.
Тренироваться

Как решать задание 16 ОГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Основы программирования»: в ней 154 задачи, и у каждой есть такой же разбор. Регистрация не нужна.