『壹』 python 中用類的方式求100-200裡面的素數

#coding=utf-8
classsushu():
def__init__(self,begin_num,end_num):
self.begin_num=begin_num
self.end_num=end_num

defexcute_sushu(self):
sushu_list=[]
forninrange(self.begin_num,self.end_num):
foriinrange(2,n):
ifn%i==0:
print"數字%d不是素數"%n
break
else:
sushu_list.append(n)
returnsushu_list
sushu=sushu(100,200)
printsushu.excute_sushu()

『貳』 python用while求100以內素數並求和

# 用while求100以內素數並求和
primes = []
n = 2
while n <= 100:
i = 2
while i <= int(n**(1/2)):
i += 1
if n % (i - 1) == 0:
break
else:
primes += [n]
n += 1
print(primes)
print(f'100以內素數之和為{sum(primes)}')

程序縮進如圖所示

『叄』 用Python實現尋找100以內的質數。代碼看不懂,求解釋!

frommathimportsqrt
j=2
whilej<=100:
i=2
k=sqrt(j)#求j的平方根,一個數最大的因子不會大於自己的平方根
while(i<=k):#從2到k測試是否為j的因子
ifj%i==0:#如果i是j的因數,退出循環
break
i=i+1
if(i>k):#如果沒有中途退出循環,則i=i+1一直執行到i<=k不成立為止,j沒有因數,是素數列印之
print(j)
j=j+1

『肆』 python編寫一個函數.判斷一個數是不是素數,然後調用該函數輸出100以內的素數

1、打開pycharm,點擊file,點擊new,新建一個空白的pyrthon文件:

『伍』 用python語言輸出100以內所有素數

list = [] #存放計算的結果
list1 = [] #存放質數
n = int(input("計算質數2:"))
for i in range(2,n+1): #范圍在2-n內
for j in range(2,i):
list.append(i%j)
if 0 not in list:
list1.append(i)
list=[]
print(list1)
正好在研究這個專問題,怎麼說呢,感屬覺這個是正解,runoob網站有這個案例,和樓下類似,但是是錯的,運行你會發現9、15這類都是質數。而質數都定義,簡單來說,就是大於1的自然數,只能被1和自己整除,9、15明顯不是。網站的案例,當自然數為9時,此時通過9%2=1判定9為質數,然後第二次循環判定時(此時是9%3=0),此時9又不是質數了。總的來說,但凡像9、15、21這種類型不是質數的奇數,因為第一次都是和2判定無法被整除,所以都會被判定質數。
正確的做法是,將所有取余的結果存入列表,判定其中是否有為0的情況,如果有則不是質數,反之則是。

『陸』 python 100以內素數的和

defsundaram3(max_n):
numbers=range(3,max_n+1,2)
half=(max_n)//2
initial=4
forstepinxrange(3,max_n+1,2):
foriinxrange(initial,half,step):
numbers[i-1]=0
initial+=2*(step+1)
ifinitial>half:
return[2]+filter(None,numbers)

print(sum(sundaram3(100)))

『柒』 編程!用Python!求100以內的素數,並列印!多謝!

如果要追求一下速度的話,可以試試這個(求1千萬內素數12.58秒).
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
def getPrime(maxNum):
aList = [x for x in range(0,maxNum)]
prime = []
for i in range(2,len(aList)):
if aList[i] != 0:
prime.append(aList[i])
clear(aList[i],aList,maxNum)
return prime

def clear(aPrime,aList,maxNum):
for i in range(2,int((maxNum/aPrime)+1)):
if not aPrime*i>maxNum-1:
aList[i*aPrime]=0

print getPrime(100)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

『捌』 如何用Python計算100以內的素數

『玖』 python實現求100以內素數時循環搞不懂,求指導

這里 j<=(i/j) 等價於j小於i的平方根。
任意一個整數,如果它沒有一個不小於它的平方根的約數,那麼,他就一定也不會有大於它平方根的約數。假定A=b*c,則b與c中肯定有一個是小於或者等於A的平方根的。這就是說,要判斷一個整數是不是素數,只要判斷它有沒有小於等於它平方根的約數就行了,有就不是素數,沒有就是。
j<i 相當於把大於j小於i的所有整數是否他的約數都判斷一遍,效率太低了,沒有必要。

『拾』 Python尋找100以內的素數

這個兩個嵌套循環,外層的使用m循環100個數,內層的判斷當前值m是否是素數,如果不是素數條件立即終止。

運行結果正確,這里的else其實還是和if配對,不過是和第二個for循環里的整體的if配對,只有整體的if判斷條件都不滿足,才執行else里的內容