首先,什么是素數(shù)?
素數(shù)又叫質(zhì)數(shù),質(zhì)數(shù)是指在大于1的自然數(shù)中,除了1和它本身以外,不能被其他自然數(shù)整除的數(shù)。
例如:3只能被1和3整除,除此之外不能再被其他數(shù)字整除,那么3就是質(zhì)數(shù)。
那么也就可以得出
設(shè)x為1~100的隨機一個數(shù)
設(shè)y為2到隨機出的數(shù)
條件當x%y==0為true
可得代碼:
for x in range(1,101):
for y in range(2,x):
if x%y == 0:
break
else:
print(x)
結(jié)果:
乍一看沒什么大問題,但是,結(jié)果有1,那么1算不算素質(zhì)(質(zhì)數(shù))呢?
那么1顯然不是我們要的,所以這個代碼有小問題,因為1確實符合能被1和自身整除,除此之外不能再被其他數(shù)字整除這個條件?
?所以,我們得拋開1,直接從2開始
并且這樣顯示的結(jié)果也不美觀,所以我可以使用list接收append的形式
優(yōu)化后代碼:
#方法一:
num=[]
for x in range(2,101):
for y in range(2,x):
if x%y == 0:
break
else:
num.append(x)
print(num)
#方法二:
num = []
x = 2
for x in range(2, 101):
y = 2
for y in range(2, x):
if x%y == 0:
break
else:
num.append(x)
print(num)
#方法三
num=[]
import math
for x in range(2,101):
flag = True
for y in range(2,int(math.sqrt(x))+1):
if(x%y)==0:
flag = False
break
if flag:
num.append(x)
print(num)
結(jié)果:文章來源:http://www.zghlxwxcb.cn/news/detail-518550.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-518550.html
到了這里,關(guān)于python-求1~100的素數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!