Aujourd'hui, en jouant avec mes enfants, j'ai remarqué qu'un jouet apparemment simple dans le parc cachait un défi.
La roue a un triangle qui pointe vers un nombre, mais aussi trois cercles qui pointent vers les nombres tous les 90 degrés par rapport au premier. Alors:
Défi (vraiment simple)
Étant donné un entier compris entre 1 et 12 (celui pointé par le triangle) sous n'importe quelle forme acceptable, sortez également sous n'importe quelle forme acceptable et ordonnez les trois nombres pointés par les cercles (ceux tous les 90 degrés).
Cas de test
In Out
1 4, 7, 10
2 5, 8, 11
3 6, 9, 12
4 7, 10, 1
5 8, 11, 2
6 9, 12, 3
7 10, 1, 4
8 11, 2, 5
9 12, 3, 6
10 1, 4, 7
11 2, 5, 8
12 3, 6, 9
C'est le code-golf , donc le code le plus court pour chaque langue gagne!
0 -> 4, 7, 10
,?Réponses:
Python 3 , 33 octets
Essayez-le en ligne!
Python 2 , 35 octets
Essayez-le en ligne!
la source
Gelée , 8 octets
Un lien monadique prenant un numéro et renvoyant une liste de numéros.
Essayez-le en ligne! ou voir tous les cas .
Comment?
la source
12Rṙm-3Ḋ
(sortie dans l'ordre inverse)Python 2 , 35 octets
Essayez-le en ligne!
la source
MATL , 9 octets
Essayez-le en ligne!
Explication
Considérez l'entrée
4
comme un exmaple.la source
R ,
2928 octetsMerci à @Giuseppe d'avoir enregistré un octet!
Essayez-le en ligne!
la source
APL + WIN, 13 octets
Explication:
la source
C (gcc) , 48 octets
Essayez-le en ligne!
la source
JavaScript (ES6), 29 octets
Similaire à la réponse de xnor .
Démo
Afficher l'extrait de code
la source
n=>[3,6,9].map(v=>(v+n)%12)
alors réalisé qu'il retourne 0, pas 12 ...n=>[3,6,9].map(v=>(v+n)%12||12)
(mais c'est 31 octets).Octave , 25 octets
Essayez-le en ligne!
Fonction anonyme assez simple.
Nous créons d'abord un tableau de
[1:12 1:12]
- donc deux copies de l'ensemble de nombres complet. Ensuite, nous indexons pour sélectionner les valeurs dex+3, x+6, x+9
, oùx
est le nombre entré.L'octave est indexé 1, nous pouvons donc simplement sélectionner les éléments du tableau en fonction de l'entrée (bien que pour être honnête, l'index 0 utiliserait le même nombre d'octets ici).
Cela semble utiliser une méthode qui est unique aux autres réponses en ce sens qu'en ayant deux copies du tableau, nous n'avons pas à encapsuler les indices à l'aide de modulo.
la source
mod
et que je n'ai pas pu le raccourcir. Bien joué! N'hésitez pas à poster comme réponse.Befunge-93,
201918 octetsEssayez-le en ligne!
Explication
Cela s'appuie sur un comportement propre à l'interpréteur de référence: en fin de fichier, l'
&
opérateur renvoie la dernière valeur lue. C'est pourquoi nous pouvons relire en toute sécurité l'heure de stdin à chaque itération de la boucle.la source
&
ça&
pouvant également être utilisé comme une sorte de générateur de nombres aléatoires unique . C'est moins fiable, cependant, car cela dépend du compilateur qui a été utilisé pour le construire. Cela fonctionne sur TIO pour le moment, mais il fut un temps où Dennis est passé à une version différente de gcc et nous avons perdu cette fonctionnalité pendant un certain temps.APL (Dyalog) , 12 octets
Essayez-le en ligne!
la source
Japt, 11 octets
Essayez-le
Explication
Saisie implicite d'entier
U
. Générez un tableau à 3 éléments (3Æ
) et, pour chaque élément, incrémentezU
de 3 (U±3
), modulo de 12 (uC
) et, car12%12=0
, retournez le résultat OU 12 (ªC
).la source
Brain-Flak , 84 octets
Essayez-le en ligne!
Au moins, j'ai battu la solution pour le visage de Doorknob ...
Explication:
la source
Pyth , 12 octets
Essayez-le en ligne!
la source
SOGL V0.12 , 9 octets
Essayez-le ici!
la source
Nettoyer , 44 octets
Essayez-le en ligne!
la source
Pushy , 12 octets
Essayez-le en ligne!
12 octets
Une alternative pour le même nombre d'octets:
Essayez-le en ligne!
la source
C # (.NET Core) , 42 octets
Essayez-le en ligne!
Essentiellement juste un portage de nombreuses autres réponses à C #.
la source
K (oK) , 11 octets
Solution:
Essayez-le en ligne!
Exemples:
Explication:
Ce fut la première solution qui m'est venue à l'esprit. Peut-être pas le meilleur ou le plus court.
la source
GolfScript, 46 octets
C'est la première fois que je fais du golf de code, donc avec mon manque d'expérience, je n'ai probablement pas trouvé la meilleure solution, mais je dois commencer quelque part, non?
Essayez-le en ligne ou essayez tous les cas
la source
Perl 6 , 23 octets
Essayez-le en ligne!
la source
PHP, 37 + 1 octets
Exécuter en tant que pipe avec
-nR
ou l' essayer en ligne .la source
face ,
9694 octetsCela ajoute simplement deux, mods par 12, ajoute un de plus et imprime. Ensuite, il le fait encore deux fois.
Version commentée:
Essayez-le en ligne! (La nouvelle ligne de fin est requise sur TIO en raison d'un bug corrigé dans une version plus récente de face.)
la source
m3*33
vous permet de remplacer les trois+nn1
s par un+nn3
tio.run/…Forth (gforth) , 39 octets
L'entrée provient de la pile et la sortie est placée sur la pile
Essayez-le en ligne!
Explication
la source
Haskell , 29 octets
-2 octets grâce à Laikoni.
Essayez-le en ligne!
Pas très original, non ...
la source
Swift , 30 octets
Essayez-le en ligne!
Port de nombreuses autres réponses à Swift
la source
Wolfram Language (Mathematica) 35 octets
Ce qui précède affirme, en notation infixe, ce qui peut être exprimé plus clairement
RotateLeft
tourneRange[12]
, la séquence 1,2, ... 12, vers la gauche par le numéro d'entrée.Slot[1]
ou#
détient le numéro d'entrée, n.Par exemple, avec n = 4,
renvoie la liste
Take...{3,9,3}
renvoie chaque troisième élément de cette liste de la position 3 à la position 9, à savoirla source
Windows Batch,
13712511168 octetsPort du
add value to input and mod 12 + 1
la source
Perl 5 , 30 octets
Essayez-le en ligne!
la source
PowerShell , 30 octets
Essayez-le en ligne!
Port des autres réponses (par exemple, la réponse Python 2 de xnor). Ho-hum.
la source