WingIDE 101(バージョン 4) の Windows 7 OS で Python 3.2 を実行しています。この場合、環境はそれほど重要ではありませんが、具体的にする必要があると考えました。
私のコードは次のとおりです。これは最適であることを意図したものではなく、素数を見つける方法の 1 つにすぎません。
def isPrime2(n):
if n == 1:
return False
count = 0
for i in range(2,n+1,2):
if n%i == 0:
count = count + 1
if count > 2:
return False
for i in range(1,n+1,2):
if n%i == 0:
count = count + 1
if count > 2:
return False
if count == 2:
return True
start = time.time()
x = isPrime2(571)
end = time.time()
time_interval = end - start
print("%1.15f"%time_interval)
print(x)
私が抱えている問題は、 time.time() 関数がタイミングを合わせていないように見えることです。このプログラムを実行すると、
0.000000000000000
True
これも30桁まで試してみましたが、すべてゼロのままでした。
複数の For ループがあることを考えると、私のプログラムがこれほど速いわけではありません。
私の質問は、なぜ私の機能が時間を計っていないのですか? または、そうである場合、そうすべきではないことを知っているのに、なぜそんなに速いのですか?