Ecrivez un programme d'une seule ligne de deux caractères ou plus qui ne contient pas de terminaison de ligne et ne prend aucune entrée. Par exemple, votre programme pourrait être:
MyProgram
Lorsque votre programme est organisé selon les formes que les aiguilles d'une horloge créent à 12 h, 3 h, 6 h et 9 h, il doit sortir le nombre d'heures correspondant. Aucun autre moment n'a besoin d'être pris en charge.
Plus précisément:
Quand votre programme est arrangé comme une aiguille à 12 heures ()
m a r g o r P y M
l'exécuter devrait produire
12
.Quand votre programme est arrangé comme une aiguille à 3 heures ()
m a r g o r P y MyProgram
l'exécuter devrait produire
3
.Quand votre programme est arrangé comme une aiguille à 6 heures ()
m a r g o r P y M y P r o g r a m
l'exécuter devrait produire
6
.Quand votre programme est arrangé comme une aiguille à 9 heures ()
........m ........a ........r ........g ........o ........r ........P ........y margorPyM
l'exécuter devrait produire
9
.
Remarques
Le premier caractère de votre programme est toujours placé au centre de l'horloge. (Notez qu'il n'y en a qu'un seul
M
dans l'exemple de 6 heures.)N'importe quel caractère autre que de nouvelle ligne peut être utilisé pour mettre en retrait le programme pour un arrangement à 9 heures. Dans les exemples,
.
on utilise mais l'espace ou/
ou#
serait tout aussi valide.Pour l'arrangement à 3 heures, aucun caractère ne doit être dans la région vide supérieure droite. (ie, gardez-le vide, ne le remplissez pas d'espaces.)
Le programme initial (
MyProgram
tel quel) n'a rien à faire. Seuls les arrangements à 12, 3, 6 et 9 heures doivent avoir une sortie correcte et bien définie.Le code qui fonctionne uniquement en tant que fonction ou commande REPL n'est pas autorisé. Chacun des quatre arrangements devrait être prêt à fonctionner comme s'il s'agissait de programmes complets.
Le programme le plus court en octets gagne. par exemple MyProgram
a une longueur de 9 octets.
la source
3
et6
ne se distinguerait pas à Brainfuck car ils ne diffèrent que dans les espaces.Réponses:
GolfScript,
11 à10 octetsUtilise
#
comme caractère de remplissage.12 heure
Essayez-le en ligne!
Comment ça fonctionne.
6
est poussé sur la pile, le;
jette.]
encapsule la pile dans un tableau (n’affecte pas la sortie).9
et3
sont poussés sur la pile,;
et les;
jeter.Enfin,
1
et2
sont poussés sur la pile et imprimés implicitement sans séparation.03 heures
Essayez-le en ligne!
Comment ça fonctionne
6
est poussé sur la pile, le;
jette.]
encapsule la pile dans un tableau (n’affecte pas la sortie).9
et3
sont poussés sur la pile,;
et les;
jeter.1
et21
sont poussés sur la pile, les;;
jette.3
est poussé sur la pile.#
commence un commentaire jusqu'à la fin de la ligne.06 heures
Essayez-le en ligne!
Comment ça fonctionne
6
est poussé sur la pile, le;
jette.]
encapsule la pile dans un tableau (n’affecte pas la sortie).9
et3
sont poussés sur la pile,;
et les;
jeter.1
,2
Et1
sont poussés sur la pile.;
et;
jeter le dernier1
et2
.3
et9
sont poussés sur la pile.]
et;
envelopper la pile dans un tableau et le jeter, effaçant la pile.6
est poussé sur la pile.9 heures
Essayez-le en ligne!
Comment ça fonctionne
Toutes les lignes sauf la dernière sont des commentaires.
6
est poussé sur la pile, le;
jette.]
encapsule la pile dans un tableau (n’affecte pas la sortie).9
est poussé sur la pile.#
commence un commentaire jusqu'à la fin de la ligne.la source
> <> , 20 octets
Il y a des éléments non imprimables, à savoir:
X
est -\x06\t
c
est -\x03
La même partie du code source est exécutée à chaque fois, en utilisant
g
deux parties du code source pour déterminer les éléments à soustraire à 12.12 heures | 3 heures | 6 heures | 9 heures (semble mal aligné à cause de l'onglet)
la source
ROOP , 54 octets
Utilise
<
comme caractère de remplissage.12 heures | 3 heures | 6 heures | 9 heures
12 heure
Le
1
et les2
qui sont près du sommet tombent pendant 3 cycles. Lorsqu'ils atteignent l'W
opérateur, ce dernier inscrit le nombreO
, qui représente la sortie.Le
1
dans cette partietombé pendant 2 cycles, l'
V
opérateur le déplace en dessous et au cycle suivant active l'H
opérateur qui termine le programme.03 heures
O
sont également des objets qui bougent et tombent. Étant donné que le code comporte maintenant une ligne comportant plus d'un caractère, toutes les autres lignes sont remplies d'espaces vides. TousO
se déplacent vers la droite et tombent, ce qui empêche lesW
opérateurs de disposer d’un endroit pour envoyer le1
et2
.Le seul
O
qui ne bouge pas est celui qui est coincé au centre. Ce qui3
précède tombe pendant 4 cycles à laW
.Alors les nombres qui tombent remplissent les 4 espaces entre le
W
et3
. Lorsqu'il est rempli, un autre numéro peut les parcourir tous et atteindre l'H
opérateur qui termine le programme.06 heures
Très semblable à la 12, les
6
chutes à laW
et1
à laH
. Cela se produit en 2 cycles, mettant fin au programme avant que les 12 cas ne se produisent.9 heures
(Je montre une seule colonne de
<
parce que les autres ne font rien).Le
V
ramasse le9
et le déplace vers le tuyau en dessous, ce qui dévie l'objet vers la gauche. Le tuyau<
déplace l'objet vers le bas et le suivant vers la droite. L'V
opérateur met le9
dans l'espace ci-dessous puis il est envoyé à la sortie.Le
1
fait des mouvements égaux et atteint leH
, ce qui termine le programme. Comme les tuyaux déplacent des objets dans le même cycle, tout cela prend un seul cycle.la source