Napisz niepusty program lub funkcję, która po wywołaniu generuje pojedynczą wartość 1 lub 0, a po wielokrotnym wywołaniu liczby wyjściowe tworzą binarną reprezentację kodu źródłowego programu (na tej samej stronie kodowej, z której skompilowany jest kod / interpretowane).
Na przykład, jeśli kod źródłowy to abc
(w ASCII), dane wyjściowe byłyby:
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.
Binarna reprezentacja źródła musi zawierać co najmniej jeden bit 0 i jeden 1 bit.
Zamiast 1 i 0 można wygenerować dowolne dwie różne, spójne wartości (takie jak true
i false
).
Dozwolone są programy samomodyfikujące, które generują binarną reprezentację oryginalnego źródła, pod warunkiem, że nie czytają kodu źródłowego, aby dowiedzieć się, co wydrukować w następnej kolejności.
To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.