Description de la tâche:
Dessinez un cube dans l'art ASCII dans à peu près une projection d'armoire.
Monospaced fonts
ont souvent des caractères environ deux fois plus hauts que larges. Étant donné que l'entrée correspond à la longueur des lignes verticales (à l'exclusion des coins), les lignes horizontales sont dessinées avec deux fois plus de caractères, de sorte que l'image résultante est en gros un cube. Les lignes de recul sont dessinées à la moitié de la longueur, comme le prescrit une projection de l'armoire.
Les coins du cube sont représentés par +
, les lignes horizontales par -
, les lignes verticales par |
et les diagonales utilisent /
.
Résumant: que l'entrée soit n , puis
- Un bord horizontal du cube est dessiné avec
-
et se compose de 2 n caractères. - Un bord vertical du cube est dessiné avec
|
et se compose de n caractères. - Un bord diagonal du cube est dessiné avec
/
et se compose de n / 2 caractères. - Les coins du cube sont dessinés avec
+
. Les coins ne sont pas comptés pour la longueur d'un bord comme détaillé ci-dessus (voir également les exemples ci-dessous).
Contribution:
L'entrée, donnée sur l'entrée standard, est un seul nombre pair positif n (2 ≤ n ≤ 30) qui donne la longueur des lignes verticales du cube. Elle est suivie d'un saut de ligne unique.
Sortie:
La sortie est un cube sur la sortie standard suivant les règles ci-dessus. Les espaces en fin de ligne sur les lignes sont ignorés.
Exemple d'entrée 1:
2
Exemple de sortie 1:
+----+
/ /|
+----+ |
| | +
| |/
+----+
Exemple d'entrée 2:
4
Exemple de sortie 2:
+--------+
/ /|
/ / |
+--------+ |
| | |
| | +
| | /
| |/
+--------+
ETA: J'ai maintenant accepté la solution la plus courte. Je mettrai à jour la réponse acceptée lorsqu'une réponse plus courte arrivera.
Puisque certaines personnes ont demandé combien de temps les inscriptions de nos candidats étaient:
227 - Python
240 - Perl
310 - C
315 - C
326 - VB.NET
459 - C
Ainsi que nos propres solutions (non classées parmi les autres):
140 - Golfscript
172 - Ruby
183 - PowerShell