- 22, Oct 2024
- #1
У меня есть простая задача, которую относительно легко реализовать с помощью кода. Ваша цель состоит в том, чтобы написать программу, которая будет выводить время, написанное на испанском языке, в формате ЧЧ:ММ. Многие люди, вероятно, не знают как чтобы это сделать, поэтому я уточню.
Время в испанском языке довольно логично. Обычно это происходит по схеме «Es la/Son las (час) y (минуты)». Часы указаны в 12-часовом формате, а «Es la» — только используется если час равен 1 (т.е. часу). С протоколами дела обстоят иначе. Если минут меньше 30, то она представляется так, как показано выше. Однако если минута больше 30, то час округляется в большую сторону, а минуты вычитаются. Например, 7:35 переводится как «8 часов минус 25 минут». Еще несколько примеров будут приведены ниже. Список необходимых испанских номеров можно найти здесь. На некоторых цифрах есть ударения, но они не обязательны.
Примечание: В источнике написано «уно», но, если быть грамматически правильным, это должно быть «уна». Это пока не должно влиять ни на какие ответы.
Примечание 2: Кроме того, «серо» не обязательно. Если ваша программа выводит «Es la una» или «Son las tres», меня это устраивает. Приносим извинения за такие изменения в правилах.
Правила
- Ввод будет осуществляться через STDIN или его эквивалент на вашем языке.
- Никакого чтения из сторонних библиотек.
- Ваш код может делать что угодно с недопустимыми входными данными.
Бонусы
- -10, если ваш код добавляет эти дополнительные фразы: «y cuarto» для :15, «y media» для :30 и «menos cuarto» для :45 (округлено вверх).
- -15, если ваш код может обрабатывать A.M. и PM, отвечая «de la mañana» и «de la tarde» соответственно.
- -15, если ваш код может переводить текущее время, если ввод не указан.
Подсчет очков
- Это соревнование по кодовому гольфу, и оно будет оцениваться в байтах, а не в символах.
Примеры
Вход: Es la una menos cinco.
Output: 12:55
Вход: Es la una y veintinueve.
Output: 1:29
Вход: Son las siete menos quince (or cuarto).
Output: 6:45
Вход: Son las ocho y diez.
Output: 8:10
Дайте мне знать, если здесь есть что указать. Это мой первый вопрос, поэтому он определенно не идеален.
#код-гольф #колмогоров-сложность #свидание