+ - + + - + | | + - + + - + | | | | | | | | + - + + - + + - + + - +
La gente di ASCIIville sta ricostruendo la sua città e sta disegnando nuovi progetti. Il tuo compito è quello di disegnare la loro nuova città in base a quanti edifici vogliono.
L'input sarà quanti edifici ci sono. Ogni edificio è metà dell'altezza dell'ingresso (arrotondato per eccesso se dispari), escluso la parte superiore e inferiore dell'edificio.
Facciamo un esempio di base di 4
+ - + + - + + - + + - + | | | | | | | | | | | | | | | | + - + + - + + - + + - +
Come puoi vedere qui, ci sono due |s in ogni edificio perché l'input era quattro. Ma c'è un problema! (significa che l'esempio sopra è errato e l'esempio all'inizio di questo post è l' output reale per 4)
Per ogni edificio che non è un numero primo, la sua altezza scende di uno. Se il numero è divisibile per 3 , 5 o 10 , diminuisce di un altro. Se è divisibile per due o più di quei numeri, l'importo dedotto si somma ( 10 è divisibile per 10 e 5, e non è un numero primo, quindi viene dedotto per 3 ).
Diamo un'occhiata a un esempio con un input di 5.
+ - + + - + | | + - + + - + + - + | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - +
Ecco un esempio di 7
+ - + + - + + - + | | + - + + - + + - + | | | | | | | | | | | | + - + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - + + - + + - +
E un esempio di 10
+ - + + - + + - + | | + - + + - + + - + | | + - + | | | | | | | | | | + - + | | | | + - + | | | | | | | | | | | | | | | | | | + - + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + - + + - + + - + + - + + - + + - + + - + + - + + - + + - +
E di nuovo a 6
+ - + + - + | | + - + + - + + - + | | | | | | | | | | + - + | | | | | | | | | | | | + - + + - + + - + + - + + - + + - +
Regole:
- Se un numero viene dedotto così tanto che la sua altezza è inferiore o uguale a zero, non viene mostrato ma viene lasciato uno spazio per esso (non credo che sia possibile,
6è il più vicino che ho trovato per raggiungere lo zero) . - Sono consentiti spazi finali.
- La larghezza di ogni edificio deve essere 2.
- Il tuo input può provenire da stdin o codificato nel programma.
- Il tuo programma deve essere un programma completo , senza funzioni.
- Il tuo programma deve essere in grado di 4-15 build. Non sono necessari 0-3 e numeri negativi e non sono specificati per fare nulla, il che significa che possono generare un errore, stampare immondizia o non fare nulla.