37
4
Unlike many C&R challenges, this does not require a separate robbers post; the goal of the robbers is to crack the previous answer and then post a new one as a cop.
As answerers, you will write a series of polyglots that look like this (each column is a language, and each entry is the output of the answer in that language):
Language: 1 2 3 4 5 6 7 8 ...
Answer 1: 0 1 2
Answer 2: 1 2 3
Answer 3: 2 3 4
Answer 4: 3 4 5
Answer 5: 4 5 6
Answer 6: 5 6 7
...
(blank spaces mean that no behavior is required in that case).
Each answer should work in 3 languages and print 3 different consecutive numbers which are each one more than the numbers printed by the previous answer (the first answer prints 0
, 1
, and 2
). Each answer uses two languages from the previous submission, and a third new language. The answerer should try to obfuscate what this third language is.
To post a new answer, you should:
- Crack the most recent answer by finding what its third language is.
- Preferably, add an explanation for your crack and notify the poster of the answer. Once your submission has been cracked, you should preferably add an explanation as well.
- Write a polyglot consisting of this answer's second and third languages, along with another language of your choice. Reveal your first two languages, but do not reveal your new one. It will be the next poster's goal to find this language (or any other language in which it works), so you should try to obfuscate it.
Specifications
The criteria for a valid programming language are the same as those of The Programming Language Quiz, Mark II - Cops:
- It has an English Wikipedia article, an esolangs article or a Rosetta Code article at the time this challenge was posted, or is on Try It Online!. Having an interpreter linked in any of these pages makes that interpreter completely legal.
- It must satisfy our rules on what constitutes a programming language.
- It must have a free interpreter (as in beer). Free here means that anyone can use the program without having to pay to do so.
Each answer must run in less than a minute on a reasonable PC.
- You can reuse programming languages, but there must be at least two answers in between (so an individual answer cannot reuse a language).
- Cracking a submission consists of finding any programming language that prints the correct result, not just the intended one. If a submission is run in any language that was not declared or found to work, there are no requirements to do anything.
- You may not post twice (or more) in a row.
Winning Criterion
The winning answer is whichever answer took to most time to be cracked. The challenge will never end, so it is always possible for the winning answer to change.
Sandbox. – Esolanging Fruit – 2018-09-09T05:29:38.097
2
Opened a chatroom for discussion about possible cracks and building polyglots.
– Bubbler – 2018-09-10T23:35:13.6801Can the answer output other things apart from the desired number? – NieDzejkob – 2018-09-30T09:21:26.687
Must the answer run in a specific amount of time? – NieDzejkob – 2018-10-11T17:30:59.033
1@NieDzejkob No, the program should only output the number, and yes, I'd prefer if the programs ran in under a minute. – Esolanging Fruit – 2018-10-13T10:59:27.673
@EsolangingFruit What about leading and trailing whitespace? In particular, what about a since trailing newline? – NieDzejkob – 2018-10-13T13:13:00.110
3
Here's a SEDE query that calculates the amount of time the answers stayed safe (in hours).
– NieDzejkob – 2018-10-15T20:50:57.183@NieDzejkob Thanks! I was considering creating something like that but I'm no good with SEDE. – Esolanging Fruit – 2018-10-20T07:09:14.877
Can we require that a program must be run with a particular command-line option or compiler flag or argument? – Embodiment of Ignorance – 2019-02-17T06:20:01.217
Also, does the output have to only contain the number and nothing else, and can the output to be stdout? – Embodiment of Ignorance – 2019-02-17T06:35:02.593
1@EmbodimentofIgnorance Yes, you can require command-line flags as they essentially define separate interpreters, and yes, the program must print only the number. The program may output to STDERR, but only the output to STDOUT is relevant. – Esolanging Fruit – 2019-02-17T08:53:04.910