Comme vous le savez peut-être, il y a un fait mathématique amusant que si vous ajoutez tous les nombres naturels, vous vous retrouvez avec ... -1/12 (voir Wikipedia ici) .
Bien sûr, ce résultat est très étrange et ne peut être obtenu en ajoutant simplement un nombre suivi d’un autre, mais quelques astuces mathématiques spéciales.
Cependant, votre tâche consiste à écrire un programme qui ressemble à une tentative d’ajout de tous les nombres naturels, mais lorsque vous l’exécutez, il renvoie -1/12.
En pseudocode, cela pourrait ressembler à ceci:
result = 0;
counter = 1;
while(true) {
result += counter;
counter ++;
}
println(result);
Vous pouvez le faire comme bon vous semble: exploiter un dépassement de tampon, jouer avec les erreurs renvoyées alors que certaines variables deviennent trop grosses ou simplement masquer de manière astucieuse l'élément crucial du code. Les seules conditions sont que le code doit d’abord donner l’impression de tenter d’ajouter tous les nombres naturels et, une fois exécuté, il renvoie -1/12 (quel que soit le format, il peut s’agir de décimal, binaire, texte, texte ASCII, etc.).
Le code peut bien sûr contenir beaucoup plus que ce qui est montré ci-dessus, mais il devrait être assez clair pour tromper le lecteur.
C'est un concours de popularité - votez pour l'idée la plus intelligente!