Défi
Nous connaissons tous les arbres de Noël normaux - mais que diriez-vous d'un arbre de Noël à l'envers ! C'est un défi assez facile sur le thème de Noël. L'objectif de ce challenge est de faire de moi un sapin de Noël à l'envers ASCII. Voici les règles de ce défi:
- Acceptez un entier impair et positif. Vous pouvez supposer que ce sera toujours entre
7
et51
. La base de l'arbre sera composée des personnages:
___ \ / |
Le sommet de l'arbre (l'étoile) sera composé d'un seul
*
.Chaque ligne de l'arbre sera construite en utilisant le format
<?>
où?
est un nombre quelconque de-
s. Par exemple, si vous créez une ligne de longueur5
, la ligne devrait l'être<--->
. Ou si vous faites une ligne de longueur8
, la ligne devrait l'être<------>
.Voici comment le corps de l'arbre doit être construit:
Prenez le nombre impair
n
donné en entrée et créez une ligne de l'arbre de cette longueur.Soustraire
4
den
créer une ligne de l'arbre de cette longueur.Soustraire
2
den
créer une ligne de l'arbre de cette longueur.Décrémenter
n
de2
. Après cela, saufn
égal5
, revenez à l'étape 2.
La base (voir étape 2.), l'étoile (voir étape 3.) et chaque ligne de l'arbre (voir étapes 4. et 5.) doivent toutes être centrées en utilisant le nombre impair d' origine (voir étape 1.) comme maximum largeur.
Exemples / cas de test
odd number inputed: 7
___
\ /
|
<-----> line length -> 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 13
___
\ /
|
<-----------> line length -> 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 9
___
\ /
|
<-------> line length -> 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 17
___
\ /
|
<---------------> line length -> 17
<-----------> line length -> 17 - 4 = 13
<-------------> line length -> 17 - 2 = 15
<---------> line length -> 15 - 4 = 11
<-----------> line length -> 15 - 2 = 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
Règles
- Des échappatoires standard s'appliquent .
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte!
repeat the above steps until the odd number minus 2 equals 5
- dans la première entrée, le nombre impair est 7 et 7-2 = 5, donc l'arbre devrait se terminer instantanément (je sais ce que vous voulez dire, mais il doit être reformulé)
7
, l'entrée minimale, vous devez d' abord créer les trois lignes d'arbre (sous-étapes .1.1, .1.2, .1.3), puis soustraire 2
du nombre impair et tester s'il est égal 5
. L'instruction pour vérifier si le "nombre impair moins 2 est égal à 5" est à la fin, les trois autres étapes doivent être effectuées en premier. Mais pour répondre à votre premier commentaire, ce serait bien.
7
comme entrée ou si vous pouvez accepter 4
, comme dans le quatrième nombre impair (ou 3
s'il est indexé 0).