Ecrivez un programme qui prend un entier N via stdin ou la ligne de commande.
Si N est 0, la lettre unique O
doit être imprimée sur stdout.
Si N est positif , cette double hélice horizontale ASCII art , N segments larges, doit être imprimée.
Si N est 1, le résultat est:
/\
O O
\/
Si N est 2, le résultat est:
/\ /\
O / O
\/ \/
Si N est 3, le résultat est:
/\ /\ /\
O / / O
\/ \/ \/
Si N est 4, le résultat est:
/\ /\ /\ /\
O / / / O
\/ \/ \/ \/
Le motif continue exactement de la même manière pour les N plus grands. Notez que la barre oblique ( /
) doit être utilisée à tous les endroits où les hélices se croisent, à l'exception des O
extrémités.
Si N est négatif , cette double hélice verticale de l’art ASCII, dessinée avec N segments hauts, doit être imprimée.
Si N est -1, le résultat est:
O
/ \
\ /
O
Si N est -2, le résultat est:
O
/ \
\ /
\
/ \
\ /
O
Si N est -3, le résultat est:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Si N est -4, le résultat est:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Le motif continue exactement de la même manière pour les N plus petits. Notez que les barres obliques inversées ( \
) doivent être utilisées à tous les endroits où les hélices se croisent, à l'exception des O
extrémités.
Détails
- Au lieu d’un programme, vous pouvez écrire une fonction qui prend N en tant qu’entier et affiche le résultat normalement ou le renvoie sous forme de chaîne.
- La sortie de n'importe quel N peut éventuellement contenir une nouvelle ligne.
- Toute ligne de sortie pour n'importe quel N peut éventuellement contenir 4 espaces de fin ou moins.
- Il ne devrait jamais y avoir d'espace principal qui ne fasse pas partie du modèle spécifié.
- Le code le plus court en octets gagne.
<spc>O<spc>
ou \nO\n
. Est -ce unnecesary leader des espaces a permis?
print "."
Zoomez pour voir l'hélice. * nodnod *