Задание 16 ОГЭ по информатике · 59429F
ПовышеннаяКЭС 3.2
Напишите программу для решения следующей задачи.
Участники парусной регаты стартовали одновременно. На финише фиксировалось время прохождения маршрута каждой яхтой (в часах и минутах). Определите время победителя регаты (в часах и минутах). Известно, что соревнования проходили в течение 12 часов.
Программа получает на вход количество яхт, принимавших участие в регате
N (1 ≤ N ≤ 100), затем для каждой яхты вводится два числа: часы и минуты, затраченные на прохождение маршрута.
Пример работы программы:
Участники парусной регаты стартовали одновременно. На финише фиксировалось время прохождения маршрута каждой яхтой (в часах и минутах). Определите время победителя регаты (в часах и минутах). Известно, что соревнования проходили в течение 12 часов.
Программа получает на вход количество яхт, принимавших участие в регате
N (1 ≤ N ≤ 100), затем для каждой яхты вводится два числа: часы и минуты, затраченные на прохождение маршрута.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 2 3 25 2 50 | 2 50 |
Показать ответ
n = int(input()); min_time = 12 * 60; for _ in range(n):; hours, minutes = map(int, input().split()); total_minutes = hours * 60 + minutes; if total_minutes < min_time:; min_time = total_minutes; print(min_time // 60, min_time % 60)
Подсказки (3)
- Как сравнить время, заданное часами и минутами, если нужно найти минимальное?
- Переведите время каждой яхты в минуты: t=60h+m, затем сохраняйте минимальное значение.
- После нахождения минимального времени в минутах получите часы и минуты с помощью операций t//60 и
t \% 60.
Решение
1. Считываем количество яхт и устанавливаем большое начальное значение минимального времени.
mintime=12⋅60
2. Для каждой яхты переводим время прохождения из часов и минут в минуты.
t=60h+m
3. Сравниваем полученное время с текущим минимумом и сохраняем меньшее значение.
min_time=min(min_time,t)
4. Переводим минимальное время обратно в часы и минуты и выводим результат.
mintime=12⋅60
2. Для каждой яхты переводим время прохождения из часов и минут в минуты.
t=60h+m
3. Сравниваем полученное время с текущим минимумом и сохраняем меньшее значение.
min_time=min(min_time,t)
4. Переводим минимальное время обратно в часы и минуты и выводим результат.
h = min\_time // 60,\quad m = min\_time \% 60Частые ошибки
- Сравнивают отдельно часы и минуты, не переводя время в единую единицу измерения.
- Используют обычное деление вместо целочисленного деления при восстановлении часов.
- Выводят только минимальное число минут, а не часы и минуты.
Источник: Открытый банк ФИПИ
Похожие задания
16Напишите программу, которая в последовательности натуральных чисел определяет количество чисел…Задания открытого банка ФИПИ · 51BD1816Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 7.…Задания открытого банка ФИПИ · 57E4C116Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 5843C716Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 584B4116Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов…Задания открытого банка ФИПИ · 5A3C6516Напишите программу для решения следующей задачи. На контрольной работе по алгебре ученикам 9 класса было…Задания открытого банка ФИПИ · 5A5C7A16Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и…Задания открытого банка ФИПИ · 5B473116Напишите программу, которая в последовательности натуральных чисел определяет максимальное число…Задания открытого банка ФИПИ · 5D1C8B
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ОГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.