Pour un entier n
satisfaisant n > 0
, écrivez sa valeur sous la forme d'un chemin descendant droit basé sur sa représentation binaire.
Règles
- Le premier bit (le plus significatif) défini est toujours dans le coin supérieur gauche.
- Lorsque le bit suivant est défini (a
1
), dessinez un caractère ("rempli") sur la ligne suivante dans la même colonne que le caractère précédent dessiné. Essayez d'utiliser des espaces ("vides") pour remplir, mais n'importe quel caractère fera aussi longtemps qu'il est toujours le même. - Lorsque le bit suivant n'est pas défini (a
0
), dessinez un caractère ("rempli") sur la même ligne immédiatement à droite du caractère précédent dessiné. - Votre code doit prendre en charge des nombres avec au moins 20 bits significatifs.
- Écrivez un programme complet, une fonction, un lambda, etc. mais pas d'extrait.
- Aucun espace de tête (ou caractère "vide") / lignes autorisées
- N'importe quel nombre d'espaces de fin (ou caractère "vide") / lignes autorisées
- Tout type d'entrée 1D est accepté: nombre, chaîne, tableau de booléens, etc. Gardez cependant l'ordre des bits intact.
- Tout type de sortie visuelle 2D est accepté: sur stdout, une chaîne (avec deux valeurs distinctes représentant "rempli" et "vide"), vous pouvez même sortir une matrice si vous le souhaitez. Une liste de chiffres semble difficile à concilier avec la règle "sans espace de titre", mais je suis ouvert à elle si vous trouvez un moyen de l'utiliser. Remarque: si vous avez choisi d'imprimer ou de renvoyer une chaîne, les caractères utilisés doivent être des caractères ASCII dans la plage de points de code [32-126].
- Les failles standard sont interdites.
- Il s'agit de codegolf, donc le code le plus court l'emporte.
Exemples
Entrée: 1
*
Entrée: 2
**
Entrée: 3
*
*
Entrée: 4
***
Entrée: 5
**
*
Entrée: 6
*
**
Entrée: 7
*
*
*
Entrée: 25
*
***
*
Entrée: 699050
**
**
**
**
**
**
**
**
**
**
Entrée: 1047552
*
*
*
*
*
*
*
*
*
***********
Entrée: 525311
**********
*
*
*
*
*
*
*
*
*
*
[1,0,1]
, oui.
9
est que 1001
je voudrais mon entrée à 0011
. Est-ce que ça va?
1
premier fait partie du défi, et (re) déplacer ce bit serait banaliser le défi donc j'ai peur de devoir vous dire non, @TonHospel. Vous pouvez cependant le supprimer de votre entrée dans le programme.