Hoje, vamos fazer um hexágono ASCII. Você deve escrever um programa ou função que use um número inteiro positivo n e produza uma grade hexagonal de tamanho n , composta de asteriscos. Por exemplo, um hexágono de tamanho 2 se parece com isso:
* *
* * *
* *
Enquanto um hexágono de tamanho 3 se parece com isso:
* * *
* * * *
* * * * *
* * * *
* * *
Você pode usar qualquer um dos métodos de entrada e saída padrão , por exemplo, STDIO / STDOUT, argumentos de função e valores de retorno ou leitura / gravação de um arquivo.
Você pode assumir que a entrada é sempre válida; portanto, se não for um número inteiro positivo, seu programa poderá fazer o que quiser. Você não no entanto, ter de lidar com o caso especial de um hexágono tamanho 1, que acontece de ser um único asterisco:
*
Os espaços em branco à esquerda e à direita são permitidos desde que a saída seja visualmente a mesma.
Exemplos:
1:
*
2:
* *
* * *
* *
3:
* * *
* * * *
* * * * *
* * * *
* * *
4:
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
5:
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
6:
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
12:
* * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * *
Como de costume, esse é um código de golfe , então as brechas padrão se aplicam e você deve tentar escrever o programa mais curto possível medido em bytes. É claro que alguns idiomas são inerentemente mais curtos ou mais longos que outros, portanto, lembre-se de que o objetivo não é necessariamente ter a menor contagem geral de bytes, mas vencer os envios nos mesmos idiomas ou em idiomas semelhantes.
Que ganhe o melhor jogador de golfe!