python找出999以內(nèi)所有素?cái)?shù)?
素?cái)?shù)又叫質(zhì)數(shù)(prime number),有無限個。質(zhì)數(shù)定義為在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)。
目的:輸出999以內(nèi)素?cái)?shù),同時輸出素?cái)?shù)的序數(shù)。
程序說明:編寫一個函數(shù)is_prime(n),用于判斷n是否為素?cái)?shù),使用該函數(shù)對1-999的整數(shù)進(jìn)行素性判定并且輸出結(jié)果。這個程序計(jì)算時間上不是最好的,但是邏輯簡單。函數(shù)is_prime(n)采用試除法判定一個數(shù)是否為素?cái)?shù)。
999以內(nèi)共有168個素?cái)?shù)。
python代碼如下:
from math import sqrtdef is_prime(n):
if n == 1:
return False
for i in range(2, int(sqrt(n))+1):
if n % i == 0:
return False
return True
count = 0
for i in range(1, 999):
if is_prime(i):
count = count + 1
print('{}:{}'.format(count, i))