ACHTUNG! SPOILER FÜR AUFGABE AUF ENIGMAGROUP.ORG ENTHALTEN!
Hallo,
Ich bin beim Lösen einer JavaScript-Aufgabe auf EnigmaGroup.org auf ein Problem gestoßen. Es geht mir um folgenden Algorithmus:
PHP:
PHP
<?php
$pass = 1337;
$year = 158847;
for ($i = 1; $i <= $year; $i++)
$pass += $year * $i * $year;
echo number_format($pass, 0, '', '');
?>
Python:
Code
year = 158847
passw = 1337
for i in range(1, year + 1):
passw += (year * i * year)
print (passw)
JavaScript:
Komischerweise geben alle drei Sprachen unterschiedliche Ergebnisse aus:
Woran liegt das? Sind die Zahlen einfach so lang, dass sie abgeschnitten werden? Welches Ergebnis ist mathematisch korrekt?
Edit: Bei Verringerung des Wertes der Variable "year" auf z.B. 200 kommen bei allen 3 Sprachen die gleichen ergebnisse heraus (804001337), bei z.B. 100'000 gibt es zwischen Python und JavaScript schon einen Unterschied.