编写一个非空程序或函数,当被调用时输出单个值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位。
您可以输出任意两个不同的一致值(例如true
和false
),而不是1和0 。
允许输出原始源二进制表示形式的自修改程序,前提是它们不读取源代码以找出下一步要打印的内容。
这是代码高尔夫球,因此最短的答案以字节为单位。