+ - + + - + | | + - + + - + | | | | | | | | + - + + - + + - + + - +
Les habitants de ASCIIville reconstruisent leur ville et esquissent de nouveaux plans. Votre travail consiste à dessiner leur nouvelle ville en fonction du nombre de bâtiments qu'ils souhaitent.
L'entrée sera le nombre de bâtiments. Chaque bâtiment est la moitié de la hauteur de l'entrée (arrondi si impair), sans compter le haut et le bas du bâtiment.
Tirons un exemple de base de 4
+ - + + - + + - + + - + | | | | | | | | | | | | | | | | + - + + - + + - + + - +
Comme vous pouvez le voir ici, il y a deux |s dans chaque bâtiment car l'entrée était de quatre. Mais il y a un hic! (ce qui signifie que l'exemple ci-dessus est incorrect, et l'exemple en haut de ce message est la sortie réelle pour 4)
Pour chaque bâtiment qui n'est pas un nombre premier, sa hauteur diminue d'une unité. Si le nombre est divisible par 3 , 5 ou 10 , il descend un de plus. S'il est divisible par au moins deux de ces nombres, le montant déduit s'additionne ( 10 est divisible par 10 et 5, et ce n'est pas un nombre premier, il est donc déduit par 3 ).
Regardons un exemple avec une entrée de 5.
+ - + + - + | | + - + + - + + - + | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - +
Voici un exemple de 7
+ - + + - + + - + | | + - + + - + + - + | | | | | | | | | | | | + - + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - + + - + + - +
Et un exemple de 10
+ - + + - + + - + | | + - + + - + + - + | | + - + | | | | | | | | | | + - + | | | | + - + | | | | | | | | | | | | | | | | | | + - + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - + + - + + - + + - + + - + + - +
Et revenons à 6
+ - + + - + | | + - + + - + + - + | | | | | | | | | | + - + | | | | | | | | | | | | + - + + - + + - + + - + + - + + - +
Règles:
- Si un nombre est tellement déduit que sa hauteur est inférieure ou égale à zéro, il n'est pas affiché mais un espace lui est laissé (je ne pense pas que ce soit possible,
6est le plus proche que j'ai trouvé pour atteindre zéro) . - Les espaces de fin sont autorisés.
- La largeur de chaque bâtiment doit être de 2.
- Votre entrée peut provenir de stdin ou être encodée dans le programme.
- Votre programme doit être un programme complet , sans fonctions.
- Votre programme doit être capable de 4 à 15 versions. 0-3 et les nombres négatifs ne sont pas nécessaires et ne sont pas spécifiés pour faire quoi que ce soit, ce qui signifie qu'ils peuvent lancer une erreur, imprimer des ordures ou ne rien faire.