Я случайно взглянул на часы сегодня в 11:11:11 (а сегодня 1/11; очень жаль, что это не 2011 год), и это заставило меня задуматься: я знаю! Я должен сделать из этого вопрос по коду! Я придурок
В любом случае, ваша задача - взять час, минуту и секунду в качестве входных данных и вывести следующее «интересное» время. Здесь я определю интересные как эти шаги:
- Объедините час, минуту и секунду. (Например, в 4:14:14 это будет 41414.)
- Проверьте наличие последовательных групп из одной, двух или трех, которые охватывают длину всей строки. Например, я мог найти
[41][41][4]
в примере время (если группа не может добраться до строки, просто обрежьте ее, как я делал в этом примере). Другой пример: в то время в моем первом примере в начале этого вопроса, было бы[1][1][1][1][1][1]
,[11][11][11]
или[111][111]
. - Есть ли последовательная группа, которая проходит через всю строку? Если так, то время "интересное!" В противном случае это не так.
Ввод может быть в любом разумном формате, но он не должен быть жестко закодирован. Вывод также может быть в любом приемлемом формате, и он не обязательно должен быть в том же формате, что и ввод.
Если по какой-либо причине вы используете доступ к сети, все загруженные из сети байты засчитываются в ваш счет.
Это Код-гольф; выигрывает самый короткий код в байтах.
Ответы:
J
1139990Вероятно, все еще вполне пригодный для игры в гольф.
Принимает вектор в
(h m s)
качестве входных данных и возвращает вектор в том же формате, что и выходные данные.Примеры:
источник
Haskell -
227223Это один из способов сделать это.
Примеры
источник
Mathematica 125
Возвращает образец следующего интересного времени:
a_
знаменует конец времени.источник
Lua
У меня есть четыре разных решения, так как я не был уверен в некоторых требованиях.
Версия 1: удаление 0, ввод в командной строке, а также резервное копирование os.time () (315)
Минимизация:
Полная версия с комментариями:
Другие версии очень похожи, поэтому я опубликую только минимизированные версии:
Версия 2: нет ввода командной строки (239)
Версия 3: удаление не 0, с вводом командной строки (240)
Версия 4: ничего необычного (без удаления 0 или ввода из командной строки) (164)
Инструкция по применению
Запустите в терминале (версии 1 и 3)
или просто
Если вы хотите, чтобы он отключился от системных часов.
Есть ли приз за полноту функции? :П
источник