Escreva o programa mais curto possível, de modo que quando você combinar o primeiro caractere e cada enésimo caractere depois dele em um novo programa, a saída será N. Isso deve funcionar para N = 1, 2, ..., 16.
Outra maneira de dizer isso é: se você remover todos os caracteres do seu programa, exceto o primeiro e o enésimo nono depois disso, a saída do código restante deverá ser N.
Exemplo
Se o seu código foi
ABCDEFGHIJKLMNOP
N = 1 resulta em ABCDEFGHIJKLMNOP
. Executando esta deve saída 1.
N = 2 resulta em ACEGIKMO
. Executando esta deve saída 2.
N = 3 resulta em ADGJMP
. Executando esta deve saída 3.
N = 4 resulta em AEIM
. Executando esta deve saída 4.
N = 5 resulta em AFKP
. Executando esta deve saída 5.
N = 6 resulta em AGM
. Executando esta deve saída 6.
N = 7 resulta em AHO
. Executando esta deve saída 7.
N = 8 resulta em AI
. Executando esta deve saída 8.
N = 9 resulta em AJ
. Executando esta deve saída 9.
N = 10 resulta na AK
. Saída de executar este deveria 10.
N = 11 resultados em AL
. A execução disso deve gerar 11.
N = 12 resulta emAM
. Executando esta deve saída 12.
N = 13 resulta na AN
. Executando esta deve saída 13.
N = 14 resulta na AO
. Executando esta deve saída 14.
N = 15 resulta na AP
. Executando esta deve saída 15.
N = 16 resulta na A
. A execução disso deve gerar 16.
Detalhes
- Todos os caracteres são permitidos, ASCII e não ASCII. (Novas linhas e ASCII não imprimíveis também são permitidos. Observe que o retorno de carro e o avanço de linha contam como caracteres distintos.)
- Sua pontuação é o comprimento em caracteres do seu programa inalterado (15 no exemplo). A pontuação mais baixa vence.
- Uma pontuação abaixo de 16 é claramente impossível, porque pelo menos dois dos programas alterados seriam idênticos.
- A saída pode ser para um arquivo ou stdout ou qualquer outra coisa razoável. No entanto, a saída dos 16 programas diferentes deve ir para o mesmo local (por exemplo, não está bom se
AO
for para stdout, masA
para um arquivo). Não há entrada. - A saída deve ser decimal, não hexadecimal. A saída real deve conter apenas os 1 ou 2 caracteres que compõem o número de 1 a 16, nada mais. (Coisas como Matlab's
ans =
estão bem.) - Seu programa não precisa trabalhar para N = 17 ou superior.
ABCDEFGHIJKLMNO
e N = 15
, o código do resultado é justo A
.