Écrivez un programme ou une fonction non vide qui, lorsqu'il est appelé, génère une seule valeur, 1 ou 0, et lorsqu'il est appelé plusieurs fois, les numéros de sortie produisent la représentation binaire du code source de votre programme (dans la même page de code à partir de laquelle votre code est compilé). / interprété).
Par exemple, si votre code source était abc(en ASCII), les sorties seraient:
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.
La représentation binaire de la source doit contenir au moins un bit 0 et un bit 1.
Au lieu de 1 et 0, vous pouvez générer deux valeurs cohérentes distinctes (telles que trueet false).
Les programmes auto-modifiables qui produisent la représentation binaire de la source d'origine sont autorisés, à condition qu'ils ne lisent pas le code source pour savoir quoi imprimer ensuite.
Il s'agit de code-golf , donc la réponse la plus courte en octets l'emporte.