Aujourd'hui, nous allons créer un hexagone ASCII. Vous devez écrire un programme ou une fonction prenant un entier positif n et générant une grille hexagonale de taille n , composée d'astérisques. Par exemple, un hexagone de taille 2 ressemble à ceci:
* *
* * *
* *
Alors qu’un hexagone de taille 3 ressemble à ceci:
* * *
* * * *
* * * * *
* * * *
* * *
Vous pouvez utiliser n’importe laquelle des méthodes d’entrée et de sortie par défaut , par exemple STDIO / STDOUT, les arguments de fonction et les valeurs de retour ou lire / écrire un fichier.
Vous pouvez supposer que la saisie est toujours valide, donc si ce n'est pas un entier positif, votre programme peut faire ce que vous voulez. Vous ne devez cependant traiter le cas particulier d'une taille 1 hexagone, qui se trouve être un astérisque:
*
Les espaces de début et de fin sont autorisés tant que la sortie est visuellement identique.
Exemples:
1:
*
2:
* *
* * *
* *
3:
* * *
* * * *
* * * * *
* * * *
* * *
4:
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
5:
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
6:
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
12:
* * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * *
Comme d'habitude, c'est du code-golf , donc les échappatoires standard s'appliquent , et vous devriez essayer d'écrire le programme le plus court possible mesuré en octets. Bien sûr, certaines langues sont intrinsèquement plus courtes ou plus longues que d’autres, rappelez-vous donc que l’objectif n’est pas nécessairement d’avoir le plus petit nombre total d’octets, mais de battre les soumissions dans les mêmes langues ou dans des langues similaires.
Que le meilleur golfeur gagne!