python找出999以內(nèi)所有素?cái)?shù)?
素?cái)?shù)又叫質(zhì)數(shù)(prime number),有無限個(gè)。質(zhì)數(shù)定義為在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)。
目的:輸出999以內(nèi)素?cái)?shù),同時(shí)輸出素?cái)?shù)的序數(shù)。
程序說明:編寫一個(gè)函數(shù)is_prime(n),用于判斷n是否為素?cái)?shù),使用該函數(shù)對(duì)1-999的整數(shù)進(jìn)行素性判定并且輸出結(jié)果。這個(gè)程序計(jì)算時(shí)間上不是最好的,但是邏輯簡(jiǎn)單。函數(shù)is_prime(n)采用試除法判定一個(gè)數(shù)是否為素?cái)?shù)。
999以內(nèi)共有168個(gè)素?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))