Scrivi il programma più breve possibile che comprende un insieme di interi positivi distinti e genera un rendering ASCII di esagoni concentrici con quelle lunghezze laterali, costituite da barre, sottolineature, spazi e newline.
Vince il programma più breve in byte contato da https://mothereff.in/byte-counter .
Esempi
(Hanno un aspetto migliore con meno spazio tra le linee.)
Se l'ingresso è 1l'output dovrebbe essere l'esagono con lunghezza laterale 1:
__
/ \
\__/
Si noti che vengono utilizzati due trattini bassi per la parte superiore e inferiore dell'esagono, in modo che sia meglio proporzionato.
In generale, la dimensione N esagono contiene N barre su ciascun lato angolato e 2 * N trattini bassi su entrambi i lati superiore e inferiore.
Se l'input è 1 2l'output dovrebbero essere gli esagoni concentrici con lunghezza laterale 1 e 2:
____
/ __ \
/ / \ \
\ \__/ /
\____/
Se l'ingresso è 1 3l'output dovrebbe essere:
______
/ \
/ __ \
/ / \ \
\ \__/ /
\ /
\______/
Se l'ingresso è 1 3 2l'output dovrebbe essere:
______
/ ____ \
/ / __ \ \
/ / / \ \ \
\ \ \__/ / /
\ \____/ /
\______/
eccetera.
Regole I / O
L'input deve provenire dalla riga di comando o dallo stdin ma può essere in qualunque formato sia più conveniente.
Ad esempio, si potrebbe dare ad ogni numero come argomento della riga di comando: > myprogram 1 3 2, o si potrebbe chiedere all'utente di inserire i numeri come un elenco preformattato: [1, 3, 2].
L'output deve andare su stdout o l'equivalente più vicino alla tua lingua.
Regole aggiuntive
- L'input sarà sempre un insieme di interi positivi distinti, non necessariamente in alcun ordine .
- L'output deve ...
- non contiene alcun carattere oltre
/\ _e newline. - non hanno spazi finali o spazi iniziali non necessari.
- non contiene nuove righe iniziali estranee ma potrebbe avere una riga finale finale opzionale .
- non contiene alcun carattere oltre
- Se non viene immesso nulla, non viene emesso nulla (tranne forse una nuova riga).
- Se ti aiuta, puoi supporre che gli interi di input siano inferiori a 2 16 .
1(o qualsiasi numero) si riferisce all'esagono con lunghezza laterale di 1. (Con l'avvertenza che 1 barra = 2 trattini bassi.) Quindi 1farà sempre riferimento all'esagono più interno.
1riferimento all'esagono più interno o più esterno?