Créer une fonction qui, étant donné un certain nombre de lignes n
, fait un bigA
.
- La barre horizontale de
bigA
doit être au milieu, ou la plus basse des deux si ellen
est paire - Supposons une police monospace pour la sortie
La sortie doit être une chaîne (ou similaire, par exemple un tableau de caractères) avec des sauts de ligne clairs pour séparer les lignes, et avec des espaces corrects pour le remplissage gauche (vous pouvez supposer que \ t est de 4 espaces). Il peut y avoir n'importe quel espace à droite.
Exemples
n = 1
A
n = 2
A
AAA
n = 3
A
AAA
A A
n = 4
A
A A
AAAAA
A A
n = 5
A
A A
AAAAA
A A
A A
Ceci est inspiré par Créer un "H" à partir de "H" plus petits
Réponses:
05AB1E , 13 octets
Code:
Utilise l' encodage 05AB1E . Essayez-le en ligne!
Explication:
Toile
Je devrais probablement documenter le canevas un peu plus (et beaucoup d'autres fonctions), mais cela résume fondamentalement. Le canevas a différents «modes» en fonction des types de paramètres donnés. La commande canvas a trois paramètres: <longueur> <chaîne> <direction> .
Étant donné que les paramètres de longueur et de direction sont des listes, il zippe ces listes pour créer un ensemble d'instructions à exécuter. Le paramètre de chaîne n'est que la lettre A , c'est donc le caractère de remplissage utilisé par toutes les instructions. Le canevas interprète cela comme l'ensemble d'instructions suivant (pour l'entrée 7):
Les instructions sont traduites de la manière suivante:
Si rien n'a été généré, 05AB1E génère automatiquement le résultat du canevas.
la source
Fusain ,
1715 octetsEssayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
Entrée
n
.Imprimez la barre horizontale du grand
A
. (Pour les nombres pairs, len+1
th chevauche quand même le côté droit.)Déplacez-vous au sommet du grand
A
.Imprimez les deux côtés du grand
A
.la source
Python 2 , 80 octets
Essayez-le en ligne!
Divisez la sortie souhaitée dans le blanc de gauche, le blanc
A
plus le milieu ou les blancsA
et le droitA
. Calculez la partie centrale en utilisant le découpage sur une chaîne fixe. Cela permet d'utiliser de la même manière pour générer la première ligne.la source
Stax , 15 octets
Exécuter et déboguer
Décompressé, non golfé et commenté, le programme ressemble à ceci.
Exécutez celui-ci
la source
JavaScript (ES6), 77 octets
Ce code source a une forme rectangulaire ! Oh attendez ... mauvais défi: - /
Essayez-le en ligne!
la source
Python 3.6 , 79 octets ou 73 octets
Utilisation de chaînes f pour aligner les parties horizontales de la lettre:
Avec
\b
utilisé pour en supprimer unA
(éventuellement tricher):la source
Java (JDK 10) , 124 octets
Essayez-le en ligne!
la source
J , 65 octets
Essayez-le en ligne!
Il peut être réduit d'env. 12 octets en rendant simplement le verbe tacite, mais j'ai du mal à le faire.
Explication:
3 : '...'
désigne un verbe explicite à une ligney
est l'argument=/~@i.
crée une matrice d'identité avec la taille de l'argument([:(}:@|."1,.])
ajoute la matrice d'identité à sa copie miroir avec les derniers éléments de chaque ligne supprimés.1(...)}(...)
change à 1 les positions dans son argument de droite, sélectionné par celui de gauche([:(<@;]+i.@+:)<.@-:)
- prépare la sélection en procédant comme suit:' A'{~
rend un espace aux endroits de 0 et «A» où il y a 1la source
Toile ,
1713 octetsEssayez-le ici!
-4 octets grâce à dzaima !
la source
Rubis , 66 octets
Essayez-le en ligne!
Renvoie sous forme de tableau de lignes
la source
SOGL V0.12 , 12 octets
Essayez-le ici!
Explication:
la source
Japt
-R
,2019 octetsEssayez-le
Explication
Alternative
(Dans l'espoir que cela pourrait m'aider à repérer des économies!)
la source
ç h'AUz)¬íp ®i'A êÃû
p
par²
et c'est aussi 19 octets.Rubis , 73 octets
Essayez-le en ligne!
la source
Gelée ,
23201918 octetsEssayez-le en ligne!
=þ`
crée une matrice d'identité de taillen
.L‘HĊƲ
trouve l'index de ligne de la barre horizontale en¦
sélectionnant cette ligne et en l'appliquant,o\
ce qui crée la barre.U
inverse chaque ligne afin que nous n'ayons pas un "A" à l'envers etŒB
(palindromise; vectorise) fait la seconde moitié du "A".ị⁾A
(avec un espace qui est coupé dans la mise en forme) remplace0
s par des espaces et1
s parA
s.la source
T-SQL ,
182177 octetsPremière version (avec 182 octets):
La version ci-dessus fonctionne jusqu'à @ n = 9.
Voici une autre version, qui fonctionne jusqu'à @ n = 23, mais a 2 octets supplémentaires:
Non golfé:
la source
Haskell ,
989795 octets et 109 octetsDeux approches très différentes. Premier (95 octets):
et deuxième (109 octets):
Essayez-les ici!;Essayez la version modifiée ici!Essayez la troisième version ici!
la source
l
comme opérateur infixe .m True='A'
un être raccourcim b|b='A'
.Python 2 , 70 octets ou 65 octets
La liste des chaînes est un résultat acceptable, comme @Budd l'a déclaré dans les commentaires.
Essayez-le en ligne!
Solution apparemment tricheuse, en utilisant
\b
. Il a l'air génial dans TIO, dans la console, il fait le travail.Essayez-le en ligne!
la source
Javascript, 124 octets
Une solution assez naïve, lui a donné un coup de feu pour pratiquer les compétences js.
for(i=-1,p=" ".repeat(n-1)+"A ";++i<n;console.log(i-~~(n/2)?p:p.slice(0,i)+"A".repeat(n)),p=p.slice(1,n)+" "+p.slice(n-1)){}
Déballé
la source
Perl 5
-n
, 57 octetsEssayez-le en ligne!
la source
Python 3 ,
93, 88 octetsEssayez-le en ligne!
-3 par @ovs en utilisant f-string
la source