Este desafío es enviar a su terminal, ventana, lienzo o pantalla los números del cero al 10 inclusive. Cada número de salida debe mostrarse como un nybble de 4 bits de ancho, por lo que cero debe mostrarse como 0000
y así sucesivamente.
Puede separar cada número generado con un espacio, una coma o un retorno de carro. La solución más pequeña gana, pero los números se pueden mostrar en el orden que desee, siempre que no haya números repetidos en su secuencia.
Las entradas en lenguajes binarios de bajo nivel no deben preocuparse por los separadores de comas o espacios en blanco si no es posible generar comas o espacios en blanco (es decir, la salida estándar está limitada solo a binarios, o su solución es un kit de computadora anterior como el KIM-1 que tiene una pantalla digital limitada).
fuente
Respuestas:
SmileBASIC, 26 bytes
fuente
MATL , 6 bytes
Pruébalo en MATL Online
Explicación
fuente
05AB1E ,
98 bytesPruébalo en línea!
fuente
JavaScript, 46 bytes
¿Por qué usar una función de relleno cuando simplemente puede agregar 16 a cada número y cortar el primer dígito binario?
fuente
Japt , 7 bytes
Y aquí estaba pensando que Japt estaba condenado a ser más largo que cualquier otro idioma de golf ...
¡Pruébalo en línea!
Explicación
Normalmente, las comas se pueden eliminar en Japt, pero esta está allí debido a un error:
_
normalmente significafunction(Z){Z
, pero por alguna razón el compilador piensa queA_
significafunction(A,Z){Z
.fuente
Aô_¤
Bash + GNU utils, 26
Pruébalo en línea .
fuente
seq -w 0 1010
Deberia trabajar.-w
opción deseq
antes.Bash + Unix utilidades,
2926 bytesPruébalo en línea!
Esta es la misma longitud que la solución de @ DigitalTrauma / @ Dennis, pero utiliza un método completamente diferente.
Salida es:
(Se permite cualquier pedido).
Pure Bash , 34 bytes
¡Prueba la versión pura de Bash en línea!
Salida es:
fuente
J, 6 bytes
¡Gracias a las millas por reducirlo a 6 bytes!
fuente
#:i.11
debería funcionar igual de bienJalea , 7 bytes
Pruébalo en línea!
(5 bytes si se permiten líneas finales de nybbles,
2Bṗ4Y
)¿Cómo?
Imprime en orden descendente.
Una alternativa de 7 bytes es
2ṗ4Ịṫ6Y
,[1,0]
se reemplaza con[1,2]
yỊ
es la mónada "es insignificante" (abs(z)<=1
), convirtiendo2
s en0
s.fuente
Python 3.6,
3635 bytes-1 byte gracias a @JonathanAllan
Python 3.5 y versiones anteriores:
Pruébalo en línea!
fuente
i=11
(nueva línea)while i:i-=1;print(f"{i:04b}")
, para 35.PHP, 33 bytes
fuente
CJam , 12 bytes
Pruébalo en línea!
Explicación
El enfoque de poder cartesiano habría sido mi elección, pero ya fue tomado.
Entonces esto genera números del 0 al 10, y para cada uno agrega 16 y los convierte a binario. Agregar 16 asegura que se produzcan los ceros iniciales requeridos, junto con uno inicial adicional que se elimina.
fuente
MATLAB / Octave, 13 bytes
Demo en línea
fuente
Gelatina ,
10, 9, 8 bytesPruébalo en línea!
No soy tan bueno en gelatina, ¡así que estaría abierto a cualquier consejo!
Esto usa el primer algoritmo de Emigna
Gracias a Dennis por
reducir dos bytesy hacerme atar su propia respuesta. :PAGExplicación:
fuente
Ḋ€
Guarda un byte.⁴r27
salva a otro.Python 2 ,
3836 bytes¡Gracias a @DJMcMayhem por jugar golf en 2 bytes!
Pruébalo en línea!
fuente
for n in range(11):print bin(n+16)[3:]
También a 38 bytes.n=16;exec"print bin(n)[3:];n+=1;"*11
son dos más cortosJalea , 8 bytes
Pruébalo en línea!
Cómo funciona
fuente
RProgN, 15 Bytes
Esta ha sido una muy buena modificación para agregar unapad
función. La totalidad de]L4\-'0'\m\.
, más de la mitad del código, es para rellenar._Ahorró 6 bytes gracias a @ETHProductions , esa es la función de pad reducida a la mitad.
Explicado
Pruébalo en línea!
fuente
length of the Alphabet
Buena manera de guardar un byte ;-)Retina ,
3633 bytesPruébalo en línea!
Explicación
Reemplace la entrada vacía (inexistente) con
%%%%
.En la primera ejecución de esta etapa, coincidirá
^%
y esencialmente reemplazará el texto%%%%
con las dos líneas0%%%
y1%%%
. La etapa se repetirá hasta que la salida deje de cambiar. En la segunda ejecución, coincidirá\b%
(ya que los dígitos cuentan como caracteres de palabras y%
no), y reemplazará los grupos al duplicarlos y agregarlos0
a una copia y1
a la otra: se0%%%
convierten en las líneas00%%
y01%%
(y el mismo tipo de cosas para1%%%
) A través de este bucle, se producirán las 16 cadenas de bits separadas por salto de línea.Se
\d+
recuperan las primeras 11 coincidencias de (una ejecución de al menos 1 dígito). Las coincidencias se muestran en una lista separada por salto de línea.fuente
0$%'¶$%
línea 1`. ¿Qué significan$%
,`1
,'¶
representan?$%`
representa todo antes del partido en la misma línea, y$%'
es todo después del partido en la misma línea.¶
es un salto de línea literal. Básicamente, el reemplazo coincide con el primero%
en una línea y lo reemplaza con0
más el resto de la línea en la que estaba, una nueva línea, el comienzo de la línea en la que estaba, y a1
. Por supuesto, el comienzo y el final de la línea en la que estaba no se ven afectados por el reemplazo porque no formaron parte del partido.G11`
como la última línea de la expresión regular en su lugarRubí, 25 bytes
fuente
BF,
121101bytesRequiere una nueva línea final. Hace uso del
!
símbolo (por lo tanto, marque la casilla que dice!
) con este intérprete (¡pruébelo en línea!) .Potencialmente 51 bytes si cada operador se considera como 4 bits
fuente
!
casilla de verificación que se habilita.C #, 96 bytes
Golfed
Sin golf
Código completo
Lanzamientos
96 bytes
- Solución inicial.fuente
C
170120 bytesVersión sin golf:
¿Definitivamente se puede acortar?
@Ahemone Idea genial, ¡Gracias!
¡Debería funcionar ahora! Pruébalo en línea!
fuente
for
bucle en su versión de golf debe ir a 4 en lugar de 3, pero eso no importa porque el bucle puede eliminarse por completo y el segundo bucle for puede comenzar desde 0. También puede usarwhile(n)
, pero compactando elwhile
bucle hacia abajo en Unfor
bucle ahorra más de nuevo.n/=2
también le ahorrará un byte durante el turno. También le falta una terminación}
en la versión de golf que causa un error en la compilación.}
y mejoró el código, 50 bytes más corto según su idea.R - 23
Podemos usar la
intToBin
función delR.utils
paquete:fuente
C,
756869 bytesEnfoque 1:
757374bytesPruébalo en línea!
Enfoque 2:
6869 bytesPruébalo en línea!
fuente
m,n;f(o)
lugar dem,n,o;f()
Python 2, 44 bytes
Utiliza la
zfill
función que funciona como,rjust
excepto que siempre se rellena0
para que no desperdicies bytes en un argumento.fuente
lambda k,l:' '*(len(k)-l)+k
) Wow ... +1 solo por esto: DPyke, 8 bytes
Pruébalo aquí!
También 8 bytes:
Pruébalo aquí!
fuente
Pyth -
87 bytesPruébelo en línea aquí .
fuente
apilado , 30 bytes
Pruébalo en línea!
11:>
es un rango de0
a10
. El resto se explica por sí mismo.Otras soluciones que he encontrado:
fuente
Rubí, 38 bytes.
fuente
11.times{|i|puts i.to_s(2).rjust 4,?0}
BF , 134 bytes
Estoy seguro de que esto se puede acortar: es mi primer golf BF.
Pruébalo en línea! Asume una cinta infinita en ambas direcciones, como la que usa el intérprete en TIO. Un intérprete donde
<
en el extremo izquierdo de la cinta hay un no-op ahorraría tres bytes.Explicación
Más de la mitad del código (los primeros 77 bytes, para ser precisos) se gasta inicializando la cinta. Los pasos van así:
Las celdas se inicializaron para
1
almacenar los bits de nuestro número más 1:1
representa un bit cero y2
representa un bit.La fase de inicialización terminó con el puntero en el
11
. Ahora usamos esta celda para ejecutar 11 iteraciones de nuestro bucle:fuente