Hoy, vamos a hacer un hexágono ASCII. Debe escribir un programa o función que tome un entero positivo n y genere una cuadrícula hexagonal de tamaño n , compuesta de asteriscos. Por ejemplo, un hexágono de tamaño 2 se ve así:
* *
* * *
* *
Mientras que un hexágono de tamaño 3 se ve así:
* * *
* * * *
* * * * *
* * * *
* * *
Puede utilizar cualquiera de los métodos de entrada y salida predeterminados , por ejemplo, STDIO / STDOUT, argumentos de función y valores de retorno o leer / escribir un archivo.
Puede suponer que la entrada siempre es válida, por lo que si no es un número entero positivo, su programa puede hacer lo que quiera. Usted no obstante tiene que manejar el caso especial de un hexágono tamaño 1, que pasa a ser un solo asterisco:
*
Los espacios en blanco iniciales y finales están permitidos siempre que la salida sea visualmente la misma.
Ejemplos:
1:
*
2:
* *
* * *
* *
3:
* * *
* * * *
* * * * *
* * * *
* * *
4:
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
5:
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
6:
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
12:
* * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * *
Como de costumbre, este es el código de golf , por lo que se aplican las lagunas estándar , y debe intentar escribir el programa más corto posible medido en bytes. Por supuesto, algunos idiomas son inherentemente más cortos o más largos que otros, así que recuerde que el objetivo no es necesariamente tener el recuento de bytes general más corto, sino superar las presentaciones en los mismos idiomas o en idiomas similares.
¡Que gane el mejor golfista!