Oggi faremo un esagono ASCII. È necessario scrivere un programma o una funzione che accetta un numero intero positivo n e genera una griglia esagonale di dimensione n , composta da asterischi. Ad esempio, un esagono di dimensioni 2 è simile al seguente:
* *
* * *
* *
Mentre un esagono di dimensione 3 è simile al seguente:
* * *
* * * *
* * * * *
* * * *
* * *
È possibile utilizzare uno qualsiasi dei metodi di input e output predefiniti , ad esempio STDIO / STDOUT, argomenti di funzioni e valori di ritorno o leggere / scrivere un file.
Puoi supporre che l'input sia sempre valido, quindi se non è un numero intero positivo, il tuo programma potrebbe fare quello che vuoi. Si fa tuttavia necessario gestire il caso particolare di una dimensione di 1 esagono, che risulta essere un singolo asterisco:
*
Gli spazi bianchi iniziali e finali sono consentiti purché l'output sia visivamente lo stesso.
Esempi:
1:
*
2:
* *
* * *
* *
3:
* * *
* * * *
* * * * *
* * * *
* * *
4:
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
5:
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
6:
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
12:
* * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * *
Come al solito, si tratta di code-golf , quindi si applicano scappatoie standard e si dovrebbe provare a scrivere il programma più breve possibile misurato in byte. Certo, alcune lingue sono intrinsecamente più brevi o più lunghe di altre, quindi ricorda che l'obiettivo non è necessariamente quello di avere il conteggio complessivo dei byte più breve, ma di battere gli invii nelle stesse lingue o in lingue simili.
Che vinca il migliore golfista!