- 質數:又稱素數,乘法因子隻有1和它自身的自然數;顯然,素數肯定是奇數(除去2),而奇數卻不一定是素數。如:9是奇數,但是它還有3這個乘法因子。
-
那麼如何判斷一個數是否為質數呢?
先從乘法因子讨論,一個自然數的最小乘法因子必然是一組質數,對吧,比如15,它的乘法因子有3,5(從數學角度上,1也是,但是對于程式沒有影響,暫不讨論),而3和5都是質數。
也就是說,一個數如果是質數的話,它必然不能被2、3、5、7整除,這樣就很容易判斷一個數是否為質數了。
程式設計環境:
centos 7
python 3.6.6
這裡求的是100萬以内的質數
n=4
print(2,3,5,7)
for i in range(2,10**6):
if i%2!=0:
if i%3!=0:
if i%5!=0:
if i%7!=0:
n+=1
print('%d,'%i)
print('the number is %d'%n)
結果:共有228574個質數
代碼的一些解釋;
- n=4;是因為2、3、5、7這四個質數,循環中運作的結果不含這幾個數,應另外加上。
- 在python3中i%2表示求餘
- python中“**”表示幂運算