Zitat:
600.000 entspricht 1 = 1 Stunde
1.200.000 entspricht 2 = 16 Stunden
1.800.000 entspricht 3 = 256 Stunden
Also ich habe das auch mal ausgerechnet:
9^600.000 = 100ms
9^1.200.000 = 220ms
9^1.800.000 = 545ms
auf meinem P4 1.5GHz Rechner. Die benutzte Bibliothek findest du sogar hier im Forum.
Somit dürften die 256 Stunden enorm stark übertrieben sein.
Allerdings bei 9^387.420.489 dürften nicht das Problem die Berechnung an sich sein, sondern der enorm hohe Speicherverbrauch. Rein theoretisch kann man 9^387.420.489 in Big O = O(1) berechnen, also schneller als eine Addition. Dazu benötigt man eine Mathematische Bibliothek die die Zahlen intern zur Basis 9 darstellt. Bei solchen Zahlen müsste man nur an der Ziffernpossition 387.420.489 eine 1 setzen und fertig wäre die Berechnung. Als Beispiel: wir wollen 2^387.420.489 berechen mit Binärzahlen. Wir setzen dann einfach in einem Speicher aus lauter Nullen an der Bitposition 387.420.489 eine 1 und schon steht im Speicher 2^387.420.489. Exakt so kann man auch 9^387.420.489 berechnen falls die Zahlenbasis zu 9 ist. 2^387.420.489 benötigt 387.420.489/8 Bytes an Speicher , das sind 47Mb. 9^(9^9) käme auf ca. 240Mb in Binärdarstellung.
Allerdings: 9^9^9 = (9^9)^9 =
196 62705 04755 52913 61807 59085 26912 11628 31034 50944 21476 69273 15415 53796 63911 96809
in 0.02 ms berechnet. Punkt vor Strich ansonsten von links nach rechts.
Gruß Hagen