Escreva um programa ou função que obtenha um número inteiro não negativo N de stdin ou como argumento de função. Ele deve imprimir ou retornar uma sequência de um quadrado oco de arte ASCII, cujos lados são feitos cada um com N cópias do número N.
Especificamente:
Se N for 0
, nenhuma cópia de N será usada; portanto, não deverá haver saída (ou apenas uma única nova linha à direita).
Se N for 1
, a saída é:
1
Se N é 2
:
22
22
Se N é 3
:
333
3 3
333
Se N é 4
:
4444
4 4
4 4
4444
Se N é 5
:
55555
5 5
5 5
5 5
55555
O padrão continua 6
até o fim 9
.
Se N for 10
, a saída é:
10101010101010101010
10 10
10 10
10 10
10 10
10 10
10 10
10 10
10 10
10101010101010101010
Observe que isso não é realmente quadrado. Tem 10 linhas de altura, mas 20 colunas de largura porque 10
tem dois caracteres. Isto é pretendido. O ponto é que cada lado do "quadrado" contém N cópias de N. Portanto, todas as entradas além 9
serão tecnicamente retângulos ASCII.
Por exemplo, se N for 23
, a saída é:
2323232323232323232323232323232323232323232323
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
23 23
2323232323232323232323232323232323232323232323
Aqui estão Pastebins das saídas necessárias para 99
, 100
, 111
e 123
(eles podem olhar errado em um navegador, mas em um editor de texto que vai olhar correto). A saída para 1000
é grande para Pastebin, mas ela teria 1000 linhas e 4000 colunas. Números com 4 ou mais dígitos devem funcionar como números menores.
Detalhes:
- N deve ser escrito na representação usual do número decimal, sem nenhum
+
sinal ou outro dígito. - A área oca deve ser preenchida apenas com espaços.
- Nenhuma linha deve ter espaços à esquerda ou à direita.
- Uma única nova linha após a última linha dos quadrados é opcionalmente permitida.
- Os idiomas escritos depois que esse desafio foi feito são bem-vindos, eles simplesmente não são elegíveis para ganhar .
- O código mais curto em bytes vence!