So, a while ago I tried a mini programming puzzle/challenge thingy, and it was largely… a failure Until I
nagged asked some to complete it and offered cycles to first one to do so. So I’m going to start this one up front by saying, first to solve gets 500 cycles tipped to a Repl of their choice, second gets 300, third gets 200. In order to make this as fair as possible, no languages like Brainf*** will be allowed, you will need to use a high-level language. Final decision on whether a language/solution is valid are decided by me.
If you complete this challenge (and the top three prizes have not yet been claimed), please private message me your solution to prevent others from stealing it (if you don’t know how or can’t just tell me you think you’ve solved it and I’ll private message you). If all the prizes have been claimed, to prevent spoilers, please use this template if you want to share your solution:
[details="My awesome solution"]
[spoiler]
```javascript <- obviously this will depend on what language you use
console.log("This is my awesome solution!"); <-- your code here
```
[/spoiler]
[/details]
Now to the actual challenge. This is based on one of the weekly coding challenges I participated in on Replit talk a couple of years ago. Your challenge is, without using keywords (def
, function
, while
, etc) with the exception of any keywords to define variables (function definitions are not allowed though, however you could assign a built-in function to a variable), operators (-
, *
, /
, etc) with the exception of addition (usually +
) and string concatenation (often +
or sometimes .
) or data types ("string"
, true
, 123
) except within a property accessor, to print the string Hello, world!
. Essentially, this will require you to use predefined built-in features of any language of your choice to come up with a hacky solution/trick to print Hello, world!
.
First prize (500 cycles) Goes to @not-ethan
Solution (JavaScript):
const one = Math.ceil(Math.random());
const H = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one)
const space = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
const e = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
const l = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
const o = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
const comma = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
const w = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
const r = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
const d = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
const exclamation = String.fromCharCode(one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one + one);
console.log(H + e + l + l + o + comma + space + w + o + r + l + d + exclamation);
Second prize (300 cycles) Goes to @GrimSteel
Solution (JavaScript):
const _ = Number(Boolean(window));
const l0 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l1 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l2 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l3 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l4 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l5 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l6 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l7 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l8 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l9 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l10 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l11 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
const l12 = _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_;
console.log(String.fromCharCode(l0)+String.fromCharCode(l1)+String.fromCharCode(l2)+String.fromCharCode(l3)+String.fromCharCode(l4)+String.fromCharCode(l5)+String.fromCharCode(l6)+String.fromCharCode(l7)+String.fromCharCode(l8)+String.fromCharCode(l9)+String.fromCharCode(l10)+String.fromCharCode(l11)+String.fromCharCode(l12));
Third prize (200 cycles) Goes to @DefendyPug
Solution (Python):
x = chr(int())
b = x
b += b + b + b + b + b + b + b + b + b
y = x
x += x + x
x += x + x + x
f = x
z = x + y
x += x + x + x + x + x + x + x + x
l = x
print(chr(len(z + z + z + z + z + z + z + z)) + chr(len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(y)) + chr(len(l)) + chr(len(l)) + chr(len(x) - len(f) + len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)) + chr(len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)) + chr(len(x) + len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)+ len(y)) + chr(len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y)) + chr(len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(y) + len(y) + len(y) + len(y)) + chr(len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(b) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y) + len(y)) + chr(len(b) + len(b) + len(b) + len(b) + len(b) + len(b)+ len(b)+ len(b)+ len(b)+ len(b)))