Esta é uma batata:
@@
@@@@
@@@@@@
@@@@@@
@@@@
@@
De maneira mais geral, uma batata tamanho N é definida como a seguinte forma:
Se N for par, são 2 @
símbolos centralizados , seguidos por 4 @
símbolos centralizados , seguidos por 6 @
símbolos centralizados , até N @
símbolos centrais ; então, N @
símbolos centralizados , seguidos por N-2 @
símbolos centrais , até 2.
Se N for ímpar, uma batata tamanho N é gerada da mesma maneira como descrito acima, mas começamos com 1 @
símbolo, em vez de 2 .
Uma batata é descascada começando no canto superior direito e removendo um @
sinal a cada etapa, seguindo no sentido anti-horário. Por exemplo, descascar uma batata tamanho 3 é assim:
@
@@@
@@@
@
@@@
@@@
@
@@
@@@
@
@@
@@
@
@@
@@
@@
@
@
@
@
Desafio
Escreva um programa que, com uma entrada inteira, exiba todas as etapas para descascar uma batata desse tamanho.
Espaços em branco / novas linhas à direita são permitidos.
Pontuação
Isso é código-golfe ; o código mais curto em bytes vence.
Casos de teste de amostra
N = 2
@@
@@
@
@@
@@
@
N = 7
@
@@@
@@@@@
@@@@@@@
@@@@@@@
@@@@@
@@@
@
@@@
@@@@@
@@@@@@@
@@@@@@@
@@@@@
@@@
@
@@
@@@@@
@@@@@@@
@@@@@@@
@@@@@
@@@
@
@@
@@@@
@@@@@@@
@@@@@@@
@@@@@
@@@
@
@@
@@@@
@@@@@@
@@@@@@@
@@@@@
@@@
@
@@
@@@@
@@@@@@
@@@@@@
@@@@@
@@@
@
@@
@@@@
@@@@@@
@@@@@@
@@@@
@@@
@
@@
@@@@
@@@@@@
@@@@@@
@@@@
@@
@
@@
@@@@
@@@@@@
@@@@@@
@@@@
@@
@@
@@@@
@@@@@@
@@@@@@
@@@@
@
@@
@@@@
@@@@@@
@@@@@@
@@@
@
@@
@@@@
@@@@@@
@@@@@
@@@
@
@@
@@@@
@@@@@
@@@@@
@@@
@
@@
@@@
@@@@@
@@@@@
@@@
@
@
@@@
@@@@@
@@@@@
@@@
@
@@@
@@@@@
@@@@@
@@@
@
@@
@@@@@
@@@@@
@@@
@
@@
@@@@
@@@@@
@@@
@
@@
@@@@
@@@@
@@@
@
@@
@@@@
@@@@
@@
@
@@
@@@@
@@@@
@@
@@
@@@@
@@@@
@
@@
@@@@
@@@
@
@@
@@@
@@@
@
@
@@@
@@@
@
@@@
@@@
@
@@
@@@
@
@@
@@
@
@@
@@
@@
@
@
@
@
Catálogo
Baseado em Este número é primo?