Finden Loch 1 hier .
Erstellen Sie eine Quine, die beim Ausführen mehrmals einen eigenen Quellcodeblock ausgibt. Tatsächlich muss es n-mal ausgegeben werden, wobei n in der nächsten Primzahl steht.
Ich denke, ein Beispiel zeigt es am besten.
[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]
Jedes Programm gibt seinen Basis- "Block" (also [MEIN QUINE]) die nächste Primzahl aus .
Eingebaute Funktionen zum Berechnen, ob eine Zahl eine Primzahl ist (wie eine isPrime-Funktion) oder zum Bestimmen der nächsten Primzahl (wie eine nextPrime () -Funktion) sind nicht zulässig.
- Dies bedeutet, dass Funktionen zum Auflisten der Anzahl der Teiler nicht zulässig sind
- Funktionen, die die Primfaktorisierung zurückgeben, sind ebenfalls nicht zulässig
Dies sollte eine echte Quine sein (mit Ausnahme eines gewissen Spielraums, siehe nächster Punkt), daher sollten Sie Ihren eigenen Quellcode nicht lesen.
Da Sprachen wie Java und C # bereits im Nachteil sind, müssen Sie keinen vollständig funktionierenden Code ausgeben. Wenn es in eine Funktion (die aufgerufen wird) eingefügt und das nächste Quine ausgegeben werden könnte, sind Sie gut.
Dies ist Code-Golf, also gewinnt der kürzeste Code!