De codegolf.com (non en cours de chargement au 15 septembre 2011) était celui qui me rendait fou. Imprimez dans STDOUT une horloge d'une forme exacte, lisant l'heure de STDIN et marquant un h
à l'heure et m
à la minute (arrondi à un multiple de 5) et un x
s'ils se chevauchent, les graduations inutilisées sont marquées d'un o
, de sorte que
echo "23:13" | perl script.pl
les rendements
o
h o
o m
o o
o o
o o
o
Le mien est:
$/=':';($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
pour 136 caractères, en utilisant Perl. J'aimerais pouvoir accéder au site, mais il me semble que les dirigeants avaient moins de 100 ans, utilisant également Perl. Quelqu'un d'autre peut-il le battre?
Réponses:
Golfscript, 75 octets
Inspiré par l'article lié dans les commentaires .
La
XXXXXXXXXXXX
partie représente 12 octets de données, certaines non imprimables, et doit être remplacée par la séquence d'octets120 47 253 22 194 9 183 44 196 55 125 246
.Pour plus de commodité, voici une version encodée en base64:
Exemple d'exécution:
la source
C,
259244163 caractèresArgument de ligne de commande remplacé par stdin (au besoin, finit également plus court).
Suppression du support pour les minutes au-dessus de 59 - un gaspillage de 3 caractères.
Le code est affiché avec des sauts de ligne et un retrait, mais les caractères ont été comptés sans eux.
Tentative antérieure (en utilisant les codes d'échappement ANSI), 244 caractères:
la source
Python, 175 caractères
Ne bat pas votre code Perl, mais peut-être qu'un langage plus concis avec des nombres complexes intégrés (ou des fonctions trigonométriques) pourrait utiliser cette idée pour faire mieux.
la source
Python, 226 caractères
Utilisation: exécutez 'python script.py' puis saisissez l'heure requise. (Ex: 09:45)
Production:
la source
Ma solution Perl:
527 octets
Ma solution C:
440 octets
la source
<>
et je ne pense pas que vous ayez besoin deprintf
la façon dont vous l'utilisez,print
cela fonctionnera :)Scala 327 caractères
utilisé avec une forme de cercle appropriée, pas votre citron-XXXX:
non golfé:
Utilise Ansi-Code pour la sortie à pos (y, x). Comme nous n'avons besoin que d'une précision de 5 minutes, les valeurs précalculées pour x et y semblent être plus courtes que la gestion des fonctions sin et cos avec leur importation.
la source
Python, 176 caractères
la source
Perl 131 caractères
la source