Hexadécimal est un système de comptage en base 16 qui va de 0
à f
. Votre travail consiste à créer un compteur qui affichera ces chiffres.
Exemple:
$ 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
Règles:
- Les nombres peuvent être séparés par des espaces, des tabulations ou de nouvelles lignes.
- Le nombre minimum auquel vous devez vous rendre est
30
(48 en décimal).- Vous pouvez également faire en sorte que le programme imprime les numéros pour toujours jusqu'à ce qu'il soit arrêté.
- Les lettres peuvent être en majuscules ou en minuscules (
A
oua
). - Aucune fonction intégrée n'est autorisée (qui affecte directement les conversions / comptages hexadécimaux).
- Les zéros en tête sont autorisés
- Cela peut commencer par
1
ou0
- Le code le plus court gagne!
code-golf
hexadecimal
phase
la source
la source
Réponses:
Pyth - 12 octets
Utilise le produit cartésien et trie à la fin pour obtenir le bon ordre, puis joint par des espaces. Impressions
00-ff
incluses.Essayez-le en ligne ici .
la source
Pure Bash , 26
Compte de 0x0 à 0x3F:
Essayez-le en ligne!
la source
CJam,
2114 octetsImprime les chiffres 00 à 9F.
Essayez-le en ligne dans l' interpréteur CJam .
Comment ça fonctionne
la source
Python 2, 52
Imprime
00
vers3F
. Profite du fait que le premier chiffrea
est toujours un nombre dans cette plage. Boucle sur quatre cycles du deuxième chiffreb
, incrémentanta
chaque fois que le deuxième chiffre l'estF
.C'est un caractère plus court que le plus direct
la source
n ='0123'
devrait sauver quelques caractèresthing in n + restofstring
n='0123' for a in n: for b in n+'456789ABCDEF':print a+b
0123
autre chose ne suffit pas.JavaScript (ES6), 57 octets
Même approche que celles de Python, je suppose.
la source
TI-Basic, 63 octets
C'est 63 octets, selon l'écran de gestion de la mémoire de ma calculatrice, une TI-84 +. Assurez-vous de démarrer le programme avec un écran d'accueil partiellement rempli!
la source
Befunge-93, 57 octets
Imprime les nombres de
00
à8F
. Si vous préférez que vos programmes s'exécutent pour toujours, la version ci-dessous ne se termine pas et affichera continuellement tous les nombres de00
àFF
.la source
0123456789ABCDEF01g::88+/2-0g,88+%0g,9,1+01p
bef.c
) qui ignore silencieusement les commandes inconnues (ABCDEF
).30
- celle-ci débordera lentement la pile, donc je suppose qu'il y a un certain point de terminaison. De plus, la sortie est séparée par des tabulations; l'OP a dit que c'était bien. ) Oh, l'implémentation Befunge que vous utilisez devrait également initialiser l'ensemble du tore 80x25 avec des espaces (ASCII0x20
).C,
7875 octetsNous définissons une fonction
f()
à appeler sans arguments pour l'impression et une fonction d'aidex(int)
. Cela casse àFF
.Étonnamment, c'est un octet plus court que le plus évident:
Attention: il n'est pas recommandé d'exécuter ce code en dehors d'un environnement de débogage ...
Essai:
Production:
Bien sûr, l'approche la plus robuste (et tricheuse) est cette fonction de 34 octets:
la source
return y+
pourrait éventuellement êtrey+=
.Pyth, 17 octets
Essayez-le ici
Comment ça fonctionne:
la source
jb^+jkUT<G6 2
utilise le produit cartésien pour faire la même chose, semble toujours jouable au golf ...Javascript ES6,
6762 octetsla source
J, 22 octets
Compte pour
ff
. Imprime une nouvelle ligne supplémentaire entre chaque bloc de0x10
nombres, comme ceci:la source
Oreillons - 65 octets
Non ... Les oreillons ne sont pas encore morts! :-)
la source
CJam, 22 octets
Cela fonctionne pour toujours, et c'est donc probablement l'une des rares fois où c'est une bonne idée de ne pas inclure de permalien.
la source
oNo
est le même quen
dans TIO.TheC64Mini et Commodore BASIC (C64 / 128, PET, VIC-20, C16 / + 4) - 164 octets BASIC et Tokenized utilisés
Imprime un double espace après le numéro hexadécimal pour aligner correctement l'impression sur 40/80 colonnes ainsi que sur les 22 colonnes du VIC-20.
la source
brainfuck , 2902 octets
Facile à surfer, mais vaut la peine de donner un coup de feu
Essayez-le en ligne!
la source
0-F
puis de coder en dur l'impression. Comment avez-vous réussi à le faire si longtemps?Python 2,
6655 octetsCela aurait vraiment dû être l'approche la plus évidente pour moi ..
Ancien (66 octets) : Techniquement, cela provoque une erreur après
FF
, mais il atteint30
.J'ai supposé que le formatage des chaînes n'était pas autorisé car je suis sûr qu'il passerait par la conversion de base, mais s'il était autorisé, ce serait 29 octets:
la source
Java, 104 octets
Si le
i<99
est supprimé, il atteint toujours 30, mais se bloque finalement. Je ne sais pas si c'est acceptable.la source
J, 47 octets
imprime de 00 à ff
la source
>{;~'0123456789abcdef'
Javascript
74726560la source
Perl 6 , 34 octets
Le plus court que je puisse trouver qui n'utilise aucune sorte de conversion est:
impressions
00
...FF
espace séparé dans l'ordre.Si vous en voulez plus, vous pouvez échanger
2
contre un plus grand nombre.(n'utilisez pas un nombre supérieur à 4 car il concatène les valeurs ensemble avant de sortir quoi que ce soit, il utiliserait donc une quantité importante de RAM)
Le plus court qui n'arrêtera jamais d'écrire des valeurs hexadécimales
Si
printf
étaient autorisésSi une fonction de conversion de base était autorisée
la source
C ++ 14 - 135
la source
'string' is not a member of 'std'
avec le mien.cout
. Je suppose que tu en as besoiniostream
aussi. 2. Il imprime les nombres sans séparation. Le défi nécessite des espaces, des tabulations ou des nouvelles lignes. 3. Vous devez mentionner la version requise de C ++.jq 1.5:
6559 caractères(Code de 56 caractères + option de ligne de commande de 3 caractères.)
Exemple d'exécution:
Test en ligne (Réussite
-r
par l'URL n'est pas pris en charge - vérifiez vous-même la sortie brute.)jq 1.5: 56 caractères
(Code de 53 caractères + option de ligne de commande de 3 caractères.)
Cela produit une sortie correcte, mais n'est pas exactement un compteur: il ne génère pas les valeurs dans l'ordre, les trie juste après.
Test en ligne (le passage
-r
par l'URL n'est pas pris en charge - vérifiez vous-même la sortie brute.)la source
Dyalog APL , 12 octets
la source
Malbolge , 900 octets
Être amélioré...
Essayez-le en ligne!
la source
Zsh,
4429 octets-15 , via GammaFunction essayez-le en ligne!
Original (44 octets):
g=0123456789abcdef;h=(${(s::)g});echo $^h$^h
la source
h=({0..9} {a..f})
. 29 octetsPowerShell 6, 40 octets
Essayez-le en ligne!
Commence à
00
et compte jusqu'àFF
.la source
Assemblage 8088, IBM PC DOS, 34 octets
Octets
xxd
:Non assemblé:
PC autonome DOS exactable, la sortie est vers la console et continuera à s'afficher jusqu'à l'arrêt du programme. Juste un programme de manipulation ASCII à gratter ici. Il n'y a tout simplement pas de méthodes intégrées ou pratiques dans les API x86 ou DOS / BIOS pour convertir les valeurs binaires en chaînes pour la sortie.
Production:
la source
MUMPS , 57 octets
Production
Explication
la source
Haskell, 52 octets
la source
Python 2 - 57 octets
Cela délivre 00 à FF, avec des espaces entre.
la source