0

10 の 100 乗である googol までカウントする時間を追跡するプログラムを作成しようとしています。私が行っている方法は、人が「1、0」、10 などをカウントするようにすることです。 ...だから簡単です。これは私が使用しているコードです、

 from math import *

x = 10
y = 100
num = 0
up = 1
counter = 0
upper = 9
googol = pow(x, y)


while googol > 0:
    num += up
    counter += 1
    googol -= 1
    if counter == upper:
        up += 1
        upper *= 10 + 9
 print num

これは非常に時間がかかるため、実行するのが困難です。しばらく実行する価値はありますか?それとも、答えを得るには時間がかかりすぎますか? コードまたは言語の代替案を知っていますか?

4

1 に答える 1

2

デスクトップコンピュータではこれを行うことはできません。1秒間に30億回の反復を実行できるとしましょう(これは、ほとんどまたはすべてのデスクトップコンピューターにとって大幅に過大評価されています)。その速度でさえ、あなたは約10 ^ 83を必要とするでしょう!

于 2012-06-23T19:11:05.593 に答える