Напишите непустую программу или функцию, которая при вызове выдает одно значение, 1 или 0, а при вызове несколько раз выходные числа дают двоичное представление исходного кода вашей программы (в той же кодовой странице, из которой компилируется ваш код). / интерпретированы).
Например, если ваш исходный код был abc
(в ASCII), выходные данные будут:
1st call: 0 // ASCII letter 'a'
2nd call: 1
3rd call: 1
4th call: 0
5th call: 0
6th call: 0
7th call: 0
8th call: 1
9th call: 0 // ASCII letter 'b'
10th call: 1
11th call: 1
12th call: 0
13th call: 0
14th call: 0
15th call: 1
16th call: 0
17th call: 0 // ASCII letter 'c'
18th call: 1
19th call: 1
20th call: 0
21st call: 0
22nd call: 0
23rd call: 1
24th call: 1
After the 24th call, the behaviour is undefined.
Двоичное представление источника должно содержать как минимум один бит 0 и один бит 1.
Вместо 1 и 0 вы можете вывести любые два различных согласованных значения (например, true
и false
).
Допускаются самоизменяющиеся программы, которые выводят двоичное представление исходного источника, при условии, что они не читают исходный код, чтобы узнать, что печатать дальше.
Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.