我試圖通過使用附加的代碼來支持素數定理。我想以某種方式顯示素數小於n之間的平均差距爲log(n)。我現在所擁有的代碼可以確定某個數字是否爲素數,然後第二部分計算出我的範圍內每個連續素數的素數差距。任何想法如何使用下面的代碼在Python中進行?素數定理Python
from pylab import *
def Is_Prime (n):
if n==1:
return False
if n == 2 or n == 3:
return True
if n == 4:
return False
if n%2 == 0 or n%3 == 0:
return False
for i in range(5,int(n**0.5)+1,6):
if n%i == 0 or n%(i+2) == 0:
return False
return True
k = 0
for i in range (1,100):
if Is_Prime(i) == True:
print(i)
k+=1
print "Total number of prime numbers in [1,100] is", k
previous = 2
n = 0
for i in range(3,100000):
if Is_Prime(i):
n = n+1
current = i
gn = current - previous
print gn
plot(n,gn,'rs')
xlabel('n')
ylabel('g(n)')
previous = i
if n == 100:
break
show()
什麼不正確? :) 如果你想加快主要列表的創建,請考慮使用Eratosthenes的篩代替:http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes – 2014-11-23 17:20:04
上面的代碼工作正常。我希望增加一些東西來找到平均的黃金差距,但我不知道如何。 – Sara20 2014-11-24 18:14:28