+ - + + - + | El | + - + + - + El | El | El | El | El | El | El | El | + - + + - + + - + + - +
La gente de ASCIIville está reconstruyendo su ciudad y esbozando nuevos planos. Su trabajo es dibujar su nueva ciudad en función de cuántos edificios quieran.
La entrada será cuántos edificios hay. Cada edificio es la mitad de la altura de la entrada (redondeado si es impar), sin incluir la parte superior e inferior del edificio.
Dibujemos un ejemplo básico de 4
+ - + + - + + - + + - + El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | + - + + - + + - + + - +
Como puede ver aquí, hay dos |
s en cada edificio porque la entrada fue cuatro. Pero hay una trampa! (lo que significa que el ejemplo anterior es incorrecto, y el ejemplo en la parte superior de esta publicación es la salida real para 4)
Para cada edificio que no es un número primo, su altura se reduce en uno. Si el número es divisible por 3 , 5 o 10 , baja uno más. Si es divisible por dos o más de esos números, la cantidad deducida se suma ( 10 es divisible por 10 y 5, y no es primo, por lo que se deduce por 3 ).
Veamos un ejemplo con una entrada de 5
.
+ - + + - + | El | + - + + - + + - + El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | + - + + - + + - + + - + + - +
Aquí hay un ejemplo de 7
+ - + + - + + - + | El | + - + + - + + - + | El | El | El | El | El | El | El | El | El | El | El | + - + | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | + - + + - + + - + + - + + - + + - + + - +
Y un ejemplo de 10
+ - + + - + + - + | El | + - + + - + + - + | El | + - + El | El | El | El | El | El | El | El | El | El | + - + | El | El | El | + - + El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | + - + El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | El | + - + + - + + - + + - + + - + + - + + - + + - + + - + + - +
Y de vuelta a 6
+ - + + - + | El | + - + + - + + - + El | El | El | El | El | El | El | El | El | El | + - + El | El | El | El | El | El | El | El | El | El | El | El | + - + + - + + - + + - + + - + + - +
Reglas:
- Si un número se deduce tanto que su altura es menor o igual a cero, no se muestra, pero queda un espacio para él (no creo que esto sea posible,
6
es lo más cercano que he encontrado para llegar a cero) . - Se permiten espacios finales.
- El ancho de cada edificio debe ser 2.
- Su entrada puede ser de stdin o codificada en el programa.
- Su programa debe ser un programa completo , sin funciones.
- Su programa debe poder 4-15 compilaciones. Los números 0-3 y negativos no son necesarios y no están especificados para hacer nada, lo que significa que pueden arrojar un error, imprimir basura o no hacer nada.