Hoy, mientras jugaba con mis hijos, noté que un juguete aparentemente simple en el parque ocultaba un desafío.
La rueda tiene un triángulo que apunta a un número, pero también tiene tres círculos que apuntan a los números cada 90 grados desde el primero. Asi que:
Desafío (realmente simple)
Dado un número entero entre 1 y 12 (el que señala el triángulo) en cualquier forma aceptable, emite también en cualquier forma aceptable y ordena los tres números señalados por los círculos (los que están cada 90 grados).
Casos de prueba
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
Este es el código de golf , ¡así que puede ganar el código más corto para cada idioma!
0 -> 4, 7, 10
?Respuestas:
Python 3 , 33 bytes
Pruébalo en línea!
Python 2 , 35 bytes
Pruébalo en línea!
fuente
Jalea , 8 bytes
Un enlace monádico que toma un número y devuelve una lista de números.
Pruébalo en línea! o ver todos los casos .
¿Cómo?
fuente
12Rṙm-3Ḋ
(salida en orden inverso)Python 2 , 35 bytes
Pruébalo en línea!
fuente
MATL , 9 bytes
Pruébalo en línea!
Explicación
Considere la entrada
4
como un ejemplo.fuente
R ,
2928 bytes¡Gracias a @Giuseppe por guardar un byte!
Pruébalo en línea!
fuente
APL + WIN, 13bytes
Explicación:
fuente
C (gcc) , 48 bytes
Pruébalo en línea!
fuente
JavaScript (ES6), 29 bytes
Similar a la respuesta de xnor .
Manifestación
Mostrar fragmento de código
fuente
n=>[3,6,9].map(v=>(v+n)%12)
entonces se dio cuenta de que devuelve 0, no 12 ...n=>[3,6,9].map(v=>(v+n)%12||12)
(pero eso es 31 bytes).Octava , 25 bytes
Pruébalo en línea!
Función anónima bastante simple.
Primero creamos una matriz de
[1:12 1:12]
- entonces dos copias del conjunto de números completo. Luego indexamos para seleccionar los valores dex+3, x+6, x+9
, dondex
está la entrada numérica.Octave está indexada en 1, por lo que simplemente podemos seleccionar los elementos de la matriz en función de la entrada (aunque, para ser sincero, indexar en 0 usaría la misma cantidad de bytes aquí).
Esto parece usar un método que es único para las otras respuestas, ya que al tener dos copias de la matriz, no tenemos que ajustar los índices usando el módulo.
fuente
mod
y no pude hacerlo más corto. ¡Bien hecho! Siéntase libre de publicar como respuesta.Befunge-93,
201918 bytesPruébalo en línea!
Explicación
Esto se basa en el comportamiento específico del intérprete de referencia: al final del archivo, el
&
operador devuelve el último valor que se leyó. Es por eso que podemos volver a leer con seguridad la hora de stdin en cada iteración del bucle.fuente
&
que hizo eso&
también se puede usar como una especie de generador de números aleatorios únicos . Sin embargo, eso es menos confiable, ya que depende del compilador que se utilizó para compilarlo. Actualmente está funcionando en TIO, pero hubo un momento en que Dennis cambió a una versión diferente de gcc y perdimos esa funcionalidad por un tiempo.APL (Dyalog) , 12 bytes
Pruébalo en línea!
fuente
Japt, 11 bytes
Intentalo
Explicación
Entrada implícita de entero
U
. Genere una matriz de 3 elementos (3Æ
) y, para cada elemento, incrementeU
en 3 (U±3
), módulo en 12 (uC
) y, como12%12=0
, devuelva el resultado OR 12 (ªC
).fuente
Brain-Flak , 84 bytes
Pruébalo en línea!
Al menos superé la solución facial de Doorknob ...
Explicación:
fuente
Pyth , 12 bytes
Pruébalo en línea!
fuente
SOGL V0.12 , 9 bytes
Pruébalo aquí!
fuente
Limpio , 44 bytes
Pruébalo en línea!
fuente
Pushy , 12 bytes
Pruébalo en línea!
12 bytes
Una alternativa para el mismo número de bytes:
Pruébalo en línea!
fuente
C # (.NET Core) , 42 bytes
Pruébalo en línea!
Esencialmente solo un puerto de muchas de las otras respuestas a C #.
fuente
K (oK) , 11 bytes
Solución:
Pruébalo en línea!
Ejemplos:
Explicación:
Esta fue la primera solución que me vino a la mente. Puede que no sea el mejor ni el más corto.
fuente
GolfScript, 46 bytes
Esta es la primera vez que hago golf de código, así que con mi falta de experiencia, probablemente no haya encontrado la mejor solución, pero necesito comenzar en algún lado, ¿verdad?
Pruébelo en línea o pruebe todos los casos
fuente
Perl 6 , 23 bytes
Pruébalo en línea!
fuente
PHP, 37 + 1 bytes
Ejecutar como tubería con
-nR
o probarlo en línea .fuente
cara ,
9694 bytesEsto simplemente agrega dos, mods por 12, agrega uno más e imprime. Luego lo hace dos veces más.
Versión comentada:
Pruébalo en línea! (La nueva línea final se requiere en TIO debido a un error que se ha corregido en una versión más reciente de face).
fuente
m3*33
permite reemplazar las tres+nn1
s con una+nn3
tio.run/…Adelante (gforth) , 39 bytes
La entrada se toma de la pila y la salida se coloca en la pila
Pruébalo en línea!
Explicación
fuente
Haskell , 29 bytes
-2 bytes gracias a Laikoni.
Pruébalo en línea!
No muy original, no ...
fuente
Rápido , 30 bytes
Pruébalo en línea!
Puerto de muchas otras respuestas a Swift
fuente
Wolfram Language (Mathematica) 35 bytes
Lo anterior afirma, en notación infija, lo que se puede expresar más claramente como
RotateLeft
giraRange[12]
, la secuencia 1,2, ... 12, hacia la izquierda por el número de entrada.Slot[1]
o#
contiene el número de entrada, n.Por ejemplo, con n = 4,
devuelve la lista
Take...{3,9,3}
devuelve cada tercer elemento en esa lista desde la posición 3 a la posición 9, es decirfuente
Lote de Windows,
13712511168 bytesPuerto del
add value to input and mod 12 + 1
fuente
Perl 5 , 30 bytes
Pruébalo en línea!
fuente
PowerShell , 30 bytes
Pruébalo en línea!
Puerto de las otras respuestas (por ejemplo, la respuesta de xnor's Python 2). Ho-hum
fuente