1、新建python文件,testprimenum.py;
2. 查找100以內的所有質數的python編程怎麼寫
質數(prime number)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數,如:2、3、5、7、11、13、17、19。
方法一:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num=[];
i=2
for i in range(2,100):
j=2
for j in range(2,i):
if(i%j==0):
break
else:
num.append(i)
print(num)
方法二:
import mathdef
func_get_prime(n):
return filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+1))
print func_get_prime(100)
輸出結果為:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
希望我的回答對你有幫助!
3. Python尋找100以內的素數
這個兩個嵌套循環,外層的使用m循環100個數,內層的判斷當前值m是否是素數,如果不是素數條件立即終止。
運行結果正確,這里的else其實還是和if配對,不過是和第二個for循環里的整體的if配對,只有整體的if判斷條件都不滿足,才執行else里的內容
4. 用python求1至100內所有素數並統計個數
# 求100以內的素數
primes = []
for n in range(2,101):
for i in range(2,int(n**(1/2))+1):
if n % i == 0:
break
else:
primes += [n]
print(primes)
print(f'100內有{len(primes)}個素數')
程序縮進如圖所示
5. 用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的情況,如果有則不是質數,反之則是。
6. 用python求100以內的素數
#求100以內的全部素數
L=[]
for x in range(100):
if x<2:
continue
for i in range(2,x):
if x%i==0:
break
else: #走到此處,x一定是素數
L.append(x)
print("100以內的全部素數有:",L)
7. python編寫程序,輸出100以內的所有素數
for I in range(2,100);
for j in range(2,i):
if i%j==0:
break
else:
print(i)
8. python中如何編程求1到100之間的素數
摘要 你好,建議您根據以下方法提示,逐步操作,解決問題,謝謝。
9. 如何用python編碼100以內最大的素數
思路:
首先,素數的定義:一個大於1的自然數,除了1和它本身外,不能被其他自然數(質數)整除(2, 3, 5, 7等),換句話說就是該數除了1和它本身以外不再有其他的因數。
然後,只要100以內從0,開始判斷到99,最後一個就是100以內最大的素數了
代碼實現:
# encoding=utf-8
def is_prime(num):
"""
判斷是否為素數
是的話,返回True
否則,返回False
"""
# 質數大於 1
if num > 1:
# 查看因子
for i in range(2,num):
if (num % i) == 0:
return False
else:
return True
# 如果輸入的數字小於或等於 1,不是質數
else:
return False
if __name__ == "__main__":
num = 0
for i in range(0,100):
if is_prime(i):
num = i
# 最終賦值的就是100以內最大的素數(也叫質數)
print(num)