Je trouve cela fascinant de voir à quel point les lettres "H" et "I" sont très similaires. "H" est un trait horizontal entouré de deux traits verticaux; "I" est un trait vertical entouré de deux traits horizontaux (selon votre police). Je parie que cela pourrait être imbriqué ... Vous savez ce que cela me rappelle? Fractales !!!
Définissons la pyramide "IHIH" comme suit: La première itération est cette représentation ASCII de la lettre "I":
---
|
---
La prochaine itération a un trait vertical de chaque côté.
| |
|---|
| | |
|---|
| |
Si vous considérez le "I" au milieu comme un trait horizontal unique, cette seconde itération est fondamentalement un "H". La troisième itération ajoute un trait horizontal en haut et en bas
-------
| |
|---|
| | |
|---|
| |
-------
Encore une fois, si vous considérez le "H" au milieu comme un trait vertical unique, cette itération est fondamentalement un "I". Ce motif continue, alternant entre "H" et "I" à chaque itération. Pour référence, voici les 6 premières itérations:
1:
---
|
---
2:
| |
|---|
| | |
|---|
| |
3:
-------
| |
|---|
| | |
|---|
| |
-------
4:
| |
|-------|
| | | |
| |---| |
| | | | |
| |---| |
| | | |
|-------|
| |
5:
-----------
| |
|-------|
| | | |
| |---| |
| | | | |
| |---| |
| | | |
|-------|
| |
-----------
6:
| |
|-----------|
| | | |
| |-------| |
| | | | | |
| | |---| | |
| | | | | | |
| | |---| | |
| | | | | |
| |-------| |
| | | |
|-----------|
| |
Le défi:
Ecrivez un programme ou une fonction générant la nième itération de la pyramide IHIH et une nouvelle ligne de fin optionnelle. Votre entrée sera un entier positif unique, quel que soit le format raisonnable que vous souhaitez. Vous n'avez pas besoin de gérer des entrées non valides, par exemple des nombres non entiers, des nombres inférieurs à 1, etc. Votre programme doit au moins produire la sortie correcte pour les entrées allant jusqu'à 20. S'agissant de code-golf , les échappements standard ne sont pas autorisés. et la réponse la plus courte en octets gagne!