Wusstest du schon! Die Anzahl der Ints, die in Python dargestellt werden können, ist unbegrenzt! !! Da int in C 32 Bit beträgt, kann es nur bis zu 2147483647 darstellen. Selbst die lange Zeit, die beim Umgang mit großen Zahlen verwendet wird, kann nur 64 Bit darstellen, dh 9223372036854775807. Andererseits ist int in Python unendlich.
Wenn ich höre, dass es keine Obergrenze gibt, ist es die Menschlichkeit, die mich dazu bringt, mit einer großen Anzahl von Fäkalien umzugehen. Um zu sehen, ob es wirklich ein Limit gibt und wenn es kein Limit gibt, wie lang die Berechnungszeit ist Ich habe ein einfaches Experiment gemacht! Überprüfen Sie anhand des folgenden Codes die für die Berechnung erforderliche Zeit und die für die Anzeige erforderliche Zeit.
test.py
num_list, time_list = [], []
for i in range(9):
start = time.time()
ans = 10 ** (10 ** i)
end = time.time()
print('Elapsed time to calculate 10 ** {} is {}'.format(10 ** i, end - start))
num_list.append(10 ** i)
time_list.append(end - start)
plt.plot(num_list, time_list)
plt.show()
Die experimentellen Ergebnisse sind in der folgenden Tabelle gezeigt! Es ist schwer zu verstehen, aber die Zahlen ganz links in der Tabelle repräsentieren den $ n $ -Teil von $ 10 ^ n $. Daher ist 100 in der oberen Spalte der Tabelle die Zeit, die zum Berechnen und Anzeigen von $ 10 ^ {100} $ benötigt wurde.
calculate[s] | print[s] | |
---|---|---|
100 | 0.000 | 0.000 |
1000 | 0.000 | 0.000 |
10000 | 0.000 | 0.002992 |
1e05 | 0.01562 | 0.1396 |
1e06 | 0.1562 | 13.27 |
1e07 | 5.985 | 1324 |
1e08 | 221.7 | - |
1e09 | 8791 | - |
Selbst eine so große Zahl kann richtig berechnet werden, aber es braucht viel Zeit. Wenn $ n $ um das 10-fache erhöht wird, erhöht sich die Berechnungszeit um das 40-fache und die Anzeigezeit um das 100-fache. Übrigens, selbst wenn Sie "Anzeige" sagen, ist der Wert aufgrund eines Fehlers (natürlich) zu groß, um auf der Konsole angezeigt zu werden. Außerdem sind Drucke 1e08 und 1e09 keine Daten, da es zu lange gedauert hat und ich es satt habe. Die Abbildung, in der der Fehler angezeigt wird, zeigt 0 →![Print_bag.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419937/c813ae25-9631-1129- 6c24-2b0c1afd528e.png)
Die Grafik ist unten.
Wie ich oben erwähnt habe, sieht es so aus, als würde es exponentiell zunehmen!
Zuerst begann ich über die Berechnung von Googolplex nachzudenken, aber in erster Linie
Recommended Posts