Encontre o Buraco 1 aqui .
Faça uma solução que, quando executada, produz seu próprio bloco de código-fonte várias vezes. De fato, ele deve produzi-lo n vezes, onde n no próximo número primo.
Eu acho que um exemplo mostra melhor.
[MY QUINE][MY QUINE]
[MY QUINE][MY QUINE][MY QUINE]
[MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE]
[MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE]
[MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE]
Cada programa emitirá seu "bloco" base (então [MY QUINE]) nos próximos números primos .
Funções internas para calcular se um número é primo (como uma função isPrime) ou para determinar o próximo primo (como uma função nextPrime ()) não são permitidas.
- Isso significa que as funções para listar o número de divisores não são permitidas
- Funções que retornam a fatoração principal também não são permitidas
Isso deve ser um problema real (exceto por uma margem de manobra, veja o próximo ponto); portanto, você não deve ler seu próprio código-fonte.
Como linguagens como Java e C # já estão em desvantagem, você não precisa gerar um código totalmente funcional. Se puder ser colocado em uma função (chamada) e gerar a próxima pergunta, você estará bem.
Isso é código-golfe, então o código mais curto vence!