From codegolf.com (nie ładuje się od 15 września 2011 r.), Doprowadziło mnie do szału. Wydrukuj do STDOUT zegar o wymagającej formie, odczytuj czas ze STDIN i zaznaczaj h
godzinę i m
minutę (w zaokrągleniu do wielokrotności 5), a x
jeśli się pokrywają, nieużywane tyknięcia są oznaczone znakiem o
, dzięki czemu
echo "23:13" | perl script.pl
daje
o
h o
o m
o o
o o
o o
o
Mój jest:
$/=':';($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
dla 136 znaków, używając Perla. Chciałbym móc wejść na stronę, ale wydaje mi się, że pamiętam, że liderzy mieli mniej niż 100 lat, również używali Perla. Czy ktoś inny może to pokonać?
Odpowiedzi:
Golfscript, 75 bajtów
Inspirowany artykułem połączonym w komentarzach .
XXXXXXXXXXXX
Część stanowi 12 bajtów danych drukować tylko niektóre z nich, powinny być zastąpiona w sekwencji bajtów120 47 253 22 194 9 183 44 196 55 125 246
.Dla wygody oto wersja zakodowana w standardzie base64:
Przykładowy przebieg:
źródło
C,
259244163 znakówZamieniony argument wiersza poleceń na stdin (w razie potrzeby również jest krótszy).
Usunięto wsparcie dla minut powyżej 59 - marnotrawstwo 3 znaków.
Kod jest wyświetlany z podziałem wierszy i wcięciem, ale znaki zostały policzone bez nich.
Starsza próba (przy użyciu kodów specjalnych ANSI), 244 znaki:
źródło
Python, 175 znaków
Nie bije twojego kodu Perla, ale być może bardziej zwięzły język z wbudowanymi liczbami zespolonymi (lub funkcjami wyzwalacza) mógłby wykorzystać ten pomysł, aby zrobić coś lepszego.
źródło
Python, 226 znaków
Sposób użycia: uruchom „python script.py”, a następnie wpisz wymagany czas. (Przykład: 09:45)
Wynik:
źródło
Moje rozwiązanie perla:
527 bajtów
Moje rozwiązanie C:
440 bajtów
źródło
<>
i nie sądzę, że potrzebujeszprintf
sposobu, w jaki go używasz,print
zadziała :)Scala 327 znaków
w użyciu z odpowiednim kształtem koła, a nie z cytryną-XXXX:
bez golfa:
Używa kodu Ansi dla danych wyjściowych w pozycji pos (y, x). Ponieważ potrzebujemy tylko 5 minut dokładności, wstępnie obliczone wartości xiy wydają się być krótsze niż obsługa funkcji sin i cos z ich importem.
źródło
Python, 176 znaków
źródło
Perl 131 znaków
źródło