С codegolf.com (не загружается по состоянию на 15 сентября 2011 года) был тот, который сводил меня с ума. Напечатайте в STDOUT часы точной формы, считывая время из STDIN и отмечая знак h
в час и m
в минуту (округленный до кратного 5), и x
если они перекрываются, неиспользованные отметки помечаются знаком o
, так что
echo "23:13" | perl script.pl
доходность
o
h o
o m
o o
o o
o o
o
Мой это:
$/=':';($h,$m)=<>;printf'%9s
%5s%8s
%2s%14s
%s%16s
%2s%14s
%5s%8s
%9s',map{qw'o h m x'[2*($_==int$m/5)^$_==$h%12]}map{$_,11-$_}0..5
для 136 символов, используя Perl. Хотелось бы попасть на сайт, но, похоже, я вспоминаю, что лидерам было меньше 100, тоже с использованием Perl. Может ли кто-то еще победить?
Ответы:
Golfscript, 75 байт
Вдохновленный статьей, связанной в комментариях .
XXXXXXXXXXXX
Часть представляет собой 12 байт данных, некоторые из них нецензурными, и должна быть заменена на последовательности байт120 47 253 22 194 9 183 44 196 55 125 246
.Для удобства приведена версия в кодировке base64:
Пример выполнения:
источник
С
259244163 символаЗамененный аргумент командной строки на stdin (при необходимости также становится короче).
Убрана поддержка минут свыше 59 - пустая трата 3 символов.
Код показан с переносами строк и отступами, но символы были учтены без них.
Более старая попытка (с использованием escape-кодов ANSI), 244 символа:
источник
Питон, 175 символов
Не превосходит ваш Perl-код, но, возможно, более лаконичный язык со встроенными комплексными числами (или триггерными функциями) мог бы использовать эту идею, чтобы добиться большего успеха.
источник
Питон, 226 символов
Использование: запустите «python script.py», затем введите требуемое время. (Пример: 09:45)
Выход:
источник
Мое решение Perl:
527 байт
My C решение:
440 байт
источник
<>
и я не думаю, что вам нужно, чтобыprintf
то, как вы его используете,print
сработает :)Scala 327 символов
в использовании с правильной формой круга, а не ваш лимон-XXXX:
ungolfed:
Использует Ansi-код для вывода в pos (y, x). Поскольку нам нужна только 5-минутная точность, предварительно рассчитанные значения для x и y кажутся короче, чем обработка функций sin и cos с их импортом.
источник
Python, 176 символов
источник
Perl 131 символов
источник