Hexadecimal es un sistema de conteo de base 16 que va de 0
a f
. Su trabajo es hacer un contador que muestre estos números.
Ejemplo:
$ python counter.py
1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30
Reglas:
- Los números pueden estar separados por espacios, tabulaciones o nuevas líneas.
- El número mínimo al que debe ir es
30
(48 en decimal).- También puede hacer que el programa imprima números para siempre hasta que se detenga.
- Las letras pueden estar en mayúsculas o minúsculas (
A
oa
). - No se permiten funciones integradas (que afectan directamente las conversiones / conteos hexadecimales).
- Se permiten ceros a la izquierda
- Puede comenzar desde
1
o0
- ¡El código más corto gana!
code-golf
hexadecimal
fase
fuente
fuente
Respuestas:
Pyth - 12 bytes
Utiliza productos cartesianos, y los ordena al final para obtener el orden correcto, luego se une por espacios. Impresiones
00-ff
inclusivas.Pruébelo en línea aquí .
fuente
Pure Bash , 26
Cuenta de 0x0 a 0x3F:
Pruébalo en línea!
fuente
CJam,
2114 bytesImprime los números del 00 al 9F.
Pruébelo en línea en el intérprete de CJam .
Cómo funciona
fuente
Pitón 2, 52
Imprime
00
a3F
. Aprovecha el hecho de que el primer dígitoa
siempre es un número en este rango. Recorre cuatro ciclos del segundo dígitob
, incrementándosea
siempre que sea el segundo dígitoF
.Este es un char más corto que el más directo
fuente
n ='0123'
debería guardar algunos caracteresthing in n + restofstring
n='0123' for a in n: for b in n+'456789ABCDEF':print a+b
0123
para otra cosa no es suficiente.JavaScript (ES6), 57 bytes
El mismo enfoque que los de Python, supongo.
fuente
TI-Basic, 63 bytes
Esto es 63 bytes, según la pantalla de administración de memoria en mi calculadora, una TI-84 +. ¡Asegúrese de iniciar el programa con una pantalla de inicio parcialmente llena!
fuente
Befunge-93, 57 bytes
Imprime números del
00
al8F
. Si prefiere que sus programas se ejecuten para siempre, la siguiente versión no finaliza y generará continuamente todos los números de00
aFF
.fuente
0123456789ABCDEF01g::88+/2-0g,88+%0g,9,1+01p
bef.c
) que silenciosamente ignora los comandos desconocidos (ABCDEF
).30
; este desbordará lentamente la pila, así que supongo que hay algún punto de terminación. Además, la salida está separada por tabulaciones; el OP dijo que esto estaba bien. ) Oh, la implementación de Befunge que uses también debería inicializar todo el toro 80x25 con espacios (ASCII0x20
).C,
7875 bytesDefinimos una función
f()
que se llamará sin argumentos para imprimir, y una función auxiliarx(int)
. Esto se rompe a lasFF
.Sorprendentemente, este es un byte más corto que el más obvio:
Advertencia: no se recomienda ejecutar este código fuera de un entorno de depuración ...
Pruebas:
Salida:
Por supuesto, el enfoque más robusto (y engañoso) es esta función de 34 bytes:
fuente
return y+
posiblemente podría sery+=
.Pyth, 17 bytes
Pruébalo aquí
Cómo funciona:
fuente
jb^+jkUT<G6 2
usa el producto cartesiano para hacer lo mismo, todavía parece golfable ...Javascript ES6,
6762 bytesfuente
J, 22 bytes
Cuenta para
ff
. Imprime una nueva línea adicional entre cada bloque de0x10
números, así:fuente
Paperas - 65 bytes
No ... ¡Las paperas aún no están muertas! :-)
fuente
CJam, 22 bytes
Esto funciona para siempre y, por lo tanto, es probablemente uno de los raros momentos en que es una buena idea no incluir un enlace permanente.
fuente
oNo
es lo mismo quen
en TIO.TheC64Mini y Commodore BASIC (C64 / 128, PET, VIC-20, C16 / + 4) - 164 bytes BASIC y Tokenizados utilizados
Imprime un doble espacio después del número hexadecimal para alinear bien la impresión en 40/80 columnas, así como las 22 columnas en el VIC-20.
fuente
brainfuck , 2902 bytes
Fácil de superar, pero vale la pena intentarlo.
Pruébalo en línea!
fuente
0-F
y luego codificara la impresión. ¿Cómo lograste hacerlo tan largo?Python 2,
6655 bytesEsto realmente debería haber sido el enfoque más obvio para mí ...
Antiguo (66 Bytes) : técnicamente esto causa un error después
FF
, pero alcanza30
.Supuse que el formato de cadena no estaba permitido, ya que estoy bastante seguro de que pasaría por la conversión base, pero si se permitiera, sería de 29 bytes:
fuente
Java, 104 bytes
Si
i<99
se elimina, aún alcanza 30, pero finalmente se bloquea. No estoy seguro si eso es aceptable.fuente
J, 47 bytes
imprime 00 a ff
fuente
>{;~'0123456789abcdef'
JavaScript
7472sesenta y cinco60 60fuente
Perl 6 , 34 bytes
Lo más corto que se me ocurre que no utiliza ningún tipo de conversión es:
imprime
00
...FF
espacio separado en orden.Si desea más, puede cambiar
2
por un número mayor.(no use un número mayor que 4, ya que concatena los valores juntos antes de generar cualquier cosa, por lo que usaría una cantidad significativa de RAM)
El más corto que nunca dejará de escribir valores hexadecimales
Si se
printf
les permitieraSi se permitiera una función de conversión de base
fuente
C ++ 14-135
fuente
'string' is not a member of 'std'
con la mía.cout
. Supongo que túiostream
también lo necesitas . 2. Imprime los números sin separación. El desafío requiere espacios, pestañas o líneas nuevas. 3. Debe mencionar la versión requerida de C ++.jq 1.5:
6559 caracteres(Código de 56 caracteres + opción de línea de comando de 3 caracteres).
Ejecución de muestra:
Prueba en línea (aprobación
-r
no se admite el por la URL; compruebe usted mismo la salida sin formato).jq 1.5: 56 caracteres
(Código de 53 caracteres + opción de línea de comando de 3 caracteres).
Esto produce una salida correcta, sin embargo, no es exactamente un contador: no genera los valores en orden, solo los ordena después.
Prueba en línea (
-r
no se admite el paso por la URL; compruebe usted mismo la salida sin formato).fuente
Dyalog APL , 12 bytes
fuente
Malbolge , 900 bytes
Ser mejorado...
Pruébalo en línea!
fuente
Zsh,
4429 bytes-15 , a través de GammaFunction ¡ pruébelo en línea!
Original (44 bytes):
g=0123456789abcdef;h=(${(s::)g});echo $^h$^h
fuente
h=({0..9} {a..f})
. 29 bytesPowerShell 6, 40 bytes
Pruébalo en línea!
Comienza en
00
y cuenta hastaFF
.fuente
8088 Assembly, IBM PC DOS, 34 bytes
Bytes
xxd
:Desmontado:
PC independiente independiente de DOS, la salida es a la consola y se seguirá mostrando hasta que se detenga el programa. Solo un programa de manipulación de scratch ASCII aquí. Simplemente no hay métodos integrados o convenientes en las API x86 o DOS / BIOS para convertir los valores binarios en cadenas para la salida.
Salida:
fuente
MUMPS , 57 bytes
Salida
Explicación
fuente
Haskell, 52 bytes
fuente
Python 2 - 57 bytes
Esto genera 00 a FF, con espacios entre ellos.
fuente