Le défi:
Pour une entrée d'une lettre X (majuscule ou minuscule de A à Z) et d'un chiffre N (0-9), imprimez la lettre X correspondante en N * X.
La lettre doit provenir de cette liste:
AAA BBBB CCCC DDDD EEEEE FFFFF GGG H H
A A B B C D D E F G H H
AAAAA BBBB C D D EEEE FFFF G GG HHHHH
A A B B C D D E F G G H H
A A BBBB CCCC DDDD EEEEE F GGG H H
IIIII J K K L M M N N OOO
I J K K L MM MM NN N O O
I J KKK L M M M N N N O O
I J J K K L M M N NN O O
IIIII JJJ K K LLLLL M M N N OOO
PPPP QQQ RRRR SSSS TTTTT U U V V W W
P P Q Q R R S T U U V V W W
PPPP Q Q RRRR SSS T U U V V W W
P Q QQ R R S T U U V V W W W
P QQQQ R R SSSS T UUU V W W
X X Y Y ZZZZZ
X X Y Y Z
X Y Z
X X Y Z
X X Y ZZZZZ
Exemples:
entrée: a 1
production:
AAA
A A
AAAAA
A A
A A
entrée: A 0
production: A
entrée: A 2
production:
AAA AAA AAA
A AA AA A
AAAAAAAAAAAAAAA
A AA AA A
A AA AA A
AAA AAA
A A A A
AAAAA AAAAA
A A A A
A A A A
AAA AAA AAA AAA AAA
A AA AA AA AA A
AAAAAAAAAAAAAAAAAAAAAAAAA
A AA AA AA AA A
A AA AA AA AA A
AAA AAA
A A A A
AAAAA AAAAA
A A A A
A A A A
AAA AAA
A A A A
AAAAA AAAAA
A A A A
A A A A
entrée: A -1
sortie: quoi que ce soit: peu importe
Règles supplémentaires:
- Les paramètres d'entrée peuvent être séparés par le caractère que vous souhaitez.
- Chaque lettre doit utiliser le capital d'elle-même comme caractère ascii pour la dessiner.
- Les espaces de fin, les nouvelles lignes, etc. sont autorisés
- Au lieu d'un programme, vous pouvez écrire une fonction qui prend la chaîne de chiffres comme argument. La sortie doit être imprimée normalement.
- Stdout / Stderr n'a pas d'importance, choisissez-en un. Si des trucs imprimés sur l'autre n'ont pas d'importance non plus.
- Les formats de sortie possibles peuvent être imprimés sur STDOUT, retournés sous forme de liste de chaînes, renvoyés sous forme de matrice de caractères, etc. tant que le résultat peut simplement être imprimé en utilisant la méthode d'impression par défaut des langues. *
*: comme la fonction f (a, 1) retourne la chaîne et on peut simplement dire print (f (a, 1)) ne fait pas appeler print () une partie de la réponse. (Cela a été souligné par Kevin Cruijssen et Arnauld).
Gagnant:
Il s'agit du code-golf, le plus petit nombre de victoires d'octets. S'amuser!
Edit : cette question semble très identique à celle-ci mais je dirais que ce n'est pas le cas, car elle devrait fonctionner non seulement pour H mais pour chaque lettre de l'alphabet .. Je suppose que vous décidez plutôt ou non qu'il s'agit d'un doublon.
Réponses:
JavaScript (ES8), 281 octets
Prend l'entrée comme
(letter)(N)
. Renvoie une chaîne.Essayez-le en ligne!
Comment?
Encodage des polices
Le motif stocké est mis en miroir horizontalement et verticalement.
Exemple pour «F»:
Algorithme principal
La fonction renvoie un espace dès qu'un pixel vierge est détecté à une certaine profondeur, ou le caractère correspondant à la lettre d'entrée si toutes les itérations sont réussies.
la source
R , 348 octets
Essayez-le en ligne!
Utilise un encodage presque identique à celui d' Ouros ; cependant, il n'inverse pas les bits, choisissant plutôt de les utiliser directement.
Il crée ensuite une matrice 5x5 de bits et construit la matrice Kronecker Power pour générer le modèle nécessaire, en écrivant les résultats sur stdout.
la source
Propre ,
436372 octetsBeaucoup plus court avec le nouveau format IO.
Essayez-le en ligne!
Compresse les modèles de lettres en bits de littéraux entiers pour économiser environ 700 octets. Par exemple
A
:[[' AAA '],['A A'],['AAAAA'],['A A'],['A A']]
[' AAA A AAAAAAA AA A']
['A AA AAAAAAA A AAA ']
en binaire ('A' = 1, ' ' = 0
)0b1000110001111111000101110
en décimal18415150
la source
R , 259 octets
Essayez-le en ligne!
L'idée est la suivante:
Étant donné cette
5 x 26*5
matrice de0/1
:chaque colonne est considérée comme un nombre binaire et convertie en entier. Ces nombres entiers sont ensuite convertis en ASCII non imprimable dans la plage 1 ... 31:
par exemple pour les colonnes de
"B"
la chaîne finale sera"\017\021\017\021\017"
(caractères non imprimables écrits en représentation octale):Par conséquent, étant donné la chaîne de
5*26 = 130
caractères finale , nous reconvertissons cette chaîne en matrice d'0/1
utilisation:puis nous sous-sectionnons simplement la matrice en sélectionnant uniquement les 5 premières lignes (intToBits renvoie 32 bits) et uniquement les colonnes correspondant à la lettre passée en entrée et enfin nous appliquons kronecker comme expliqué dans la réponse de @ Giuseppe .
la source
-48
pièce, et utiliser!
à la place deU
: essayer en ligne