Jak zapewne wiecie, istnieje matematyczna frajda, że po dodaniu wszystkich liczb naturalnych otrzymamy ... -1/12 (patrz Wikipedia tutaj) .
Oczywiście jest to bardzo dziwny wynik i nie można go uzyskać, dodając tylko jedną liczbę, a następnie inną, ale niektóre specjalne sztuczki matematyczne.
Twoim zadaniem jest jednak napisanie programu, który wygląda tak , jakby próbował dodać wszystkie liczby naturalne, ale po uruchomieniu program zwraca -1/12.
W pseudokodzie może to wyglądać tak:
result = 0;
counter = 1;
while(true) {
result += counter;
counter ++;
}
println(result);
Możesz to zrobić w dowolny sposób - możesz wykorzystać przepełnienie bufora, grać z wyrzuconymi błędami, podczas gdy jakaś zmienna staje się zbyt duża lub po prostu ukryć kluczowe elementy w kodzie w sprytny sposób. Jedynymi warunkami jest to, że kod powinien na początku wyglądać, jakby próbował dodać wszystkie liczby naturalne, a po uruchomieniu zwraca -1/12 (w dowolnym formacie, może być dziesiętny, binarny, tekstowy, ascii).
Kod może oczywiście zawierać znacznie więcej niż pokazano powyżej, ale powinien być wystarczająco jasny, aby oszukać czytelnika.
To konkurs popularności - głosuj na najmądrzejszy pomysł!