Um Quine é um programa de computador que produz uma cópia do seu próprio código-fonte como sua única saída. Existe algum programa Quine que pode se imprimir n vezes, com n especificado de alguma forma no programa?
computability
recreational
huyichen
fonte
fonte
Respostas:
Pergunta divertida! Como base, usarei este haskell quine que encontrei na Wikipedia:
Você pode imprimir duas cópias de si mesmo, substituindo as ocorrências de p ++ show (p) por p ++ show (p) ++ p ++ show (p). Se você perceber o porquê, o padrão para obter repetições variáveis deve ser claro.
Eu usarei a seguinte função que calcula a enésima iteração de f em x:
Suponho que esteja disponível como uma função de biblioteca. Você pode incorporar facilmente sua definição diretamente no quine, mas isso atrapalha a apresentação sem uma boa razão. Agora o resto é simples:
A quebra de linha foi inserida para facilitar a legibilidade; remova-o se desejar uma replicação exata.
fonte
fonte
Aqui está outro, baseado na versão printf da wikipedia:
Embora seja curto, na verdade não é tão bom, pois falta a inclusão para printf, assim como o contador deve ser especificado duas vezes. Uma versão um pouco mais longa cura os dois problemas:
fonte