7
1
Let's define a 2-quine as a program that prints its source code two times. For example, if the program
ABC
printedABCABC
, it would be a 2-quine.Let's define a 3-quine as a program that prints its source code three times. For example, if the program
ABC
printedABCABCABC
, it would be a 3-quine.Let's define a n-quine as a program that prints its source code n times.
Your task is to write a 2-quine, that prints a 3-quine, that prints a 4-quine, that prints a 5-quine, etc...
For example, here is an example of a valid submission (which is fictional of course):
AB
which prints
ABAB
which prints
ABABABABABAB
which prints
ABABABABABABABABABABABABABABABABABABABABABABABAB
etc.
Remember, this is code-golf, so the program with the fewest bytes wins.
1Related. Also related. – Dennis – 2016-11-11T07:23:18.400
1You should explicitly forbid programming languages where a 0-byte program is a quine. Otherwise I would say: "QBasic - 0 bytes!" – Martin Rosenau – 2016-11-11T08:32:27.893
3
@MartinRosenau Those are forbidden by default.
– Martin Ender – 2016-11-11T08:56:20.0272I challenge someone to do this in a purely functional language, because I can't figure it out... – None – 2016-11-11T11:05:48.700
Related. – Oliver Ni – 2016-11-11T14:48:46.020
1@CamilStaps Just did it in Underload, but that's a bit of a cheat. – Esolanging Fruit – 2017-01-31T04:21:16.230
@CamilStaps I figured out how to do it in
C
but I can't because online IDEs for C lock the program's file's attributes up and I can't read them. Anyways, what you do is make sure your program is just 1 line of code and ends with//
this way when it repeats itself the repeats are all commented out, that way you don't get errors for defining yourmain(){}
function more than once. Your quine also contains a for loop for printing itself out and the number of times that loops is based on your file size which can be read from the pre-processor__FILE__
. So the bigger the file, the more loops – Albert Renshaw – 2017-01-31T08:55:35.9231
@AlbertRenshaw that's great, but C is not a purely functional language.
– None – 2017-01-31T08:57:07.773@CamilStaps My apologies, misunderstood the definition of purely functional; thanks for the link! – Albert Renshaw – 2017-01-31T08:58:02.393
@AlbertRenshaw no problem. And of course, you can add your implementation to the answers here. That it does not work in an online IDE is not a problem as far as I know, especially since most people have a C compiler on their installation already :) – None – 2017-01-31T08:59:18.383