Dado um número inteiro n ≥ 1, produza uma representação 2D † de um sinal de porcentagem da largura n . A construção é a seguinte:
- Criar um n por n matriz (ou lista de listas) preenchido com zeros.
- Insira os nos cantos superior esquerdo e inferior direito.
- Coloque os na diagonal do canto inferior esquerdo para o canto superior direito.
Para entrada n = 4, essa construção seria semelhante a:
1. 4x4 matrix of 0s
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
2. 1s in TL and BR corners
1 0 0 0
0 0 0 0
0 0 0 0
0 0 0 1
3. 1s across BL-TR diagonal
1 0 0 1
0 0 1 0
0 1 0 0
1 0 0 1
Este é um código de golfe , portanto o programa mais curto em bytes vence.
† Uso uma matriz de 1s e 0s, mas também é aceitável usar uma sequência de caracteres e espaços que não sejam espaços em branco. Portanto, o exemplo acima pode ter a seguinte aparência:
# #
#
#
# #
ou
# #
#
#
# #
Casos de teste
n
output
1
1
2
1 1
1 1
3
1 0 1
0 1 0
1 0 1
4
1 0 0 1
0 0 1 0
0 1 0 0
1 0 0 1
10
1 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1
Nota final
Adicionar uma explicação seria muito apreciado.
'1'+'0'*(n-2)
com espaços em branco inseridos