Sua tarefa é escrever um programa de tamanho uniforme , que imprima um quadrado de arte ASCII (descrito abaixo), que aumente o comprimento do lado em 1 unidade cada vez que o código-fonte original é colado no meio do código atual.
É muito difícil para mim definir essa tarefa muito bem, então vou dar um exemplo:
Digamos que seu código inicial era
CODE
e que era impresso:0
Em seguida, insira
CODE
no meio: seu código se tornaCOCODEDE
e deve ser impresso:00 00
Reinsira
CODE
no meio: seu código se tornaCOCOCODEDEDE
e deve ser impresso:000 000 000
E assim por diante. Sua resposta deve teoricamente funcionar após várias iterações, mas entendo se, devido às limitações de desempenho do idioma, ela não pode ser executada razoavelmente acima de um determinado limite.
Algumas regras:
Você pode usar qualquer ASCII imprimível (32-127) como o caractere a ser usado no seu quadrado. Sua escolha precisa ser constante (você deve usar o mesmo caractere para cada iteração).
O quadrado de saída inicial deve ter o comprimento lateral 1 .
Um quadrado ascii-art é definido como uma string com N linhas (separadas por N-1 feeds de linha / novas linhas) e cada linha contém N cópias do caractere escolhido.
Não é permitido que sua saída contenha espaços em branco externos, exceto uma nova linha à direita.
Você pode usar os padrões para entrada e saída (programas ou funções são permitidos, mas trechos não são).
O meio do seu código é definido como o ponto em que o código-fonte pode ser dividido em duas partes, para que as duas sejam iguais.
Suas respostas serão pontuadas pela duração do seu programa original , em bytes. A menor contagem de bytes vence. Caso haja empate, a resposta enviada anteriormente vence.
Você pode usar este programa para aplicar as inserções sem precisar fazer isso manualmente.