當前位置:首頁 » 編程語言 » python質數

python質數

發布時間: 2022-01-25 09:14:06

1. python判斷質數的個數

#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName :20200924_02.py
# @Time :2020/9/24 14:48
# @Author :Storm_ke
"""
統計質數的個數
"""
# import


def is_prime(n):
"""判斷一個正整數是否為素數"""
if isinstance(n, int):
try:
for ind in range(2, n):
if n % ind == 0:
return False
return True
except ValueError:
return Exception
else:
return False


if __name__ == "__main__":
prime_count = 0
for i in range(1, 101):
if is_prime(i):
prime_count += 1
print("1到100之間有質數{0}個。".format(prime_count))

2. Python 素數

i = 2
while i <= 100:
j = 2
while j <= i / j: #難點1
if i % j == 0:
break #如果提前提出,j的值<= i / j
j = j + 1
if j > i / j: #難點2
print(i, end=' ')
i = i + 1
其實代碼每一句都很簡單,就不一一注釋了,其實難的是思路。主要是兩個地方對J變數的判斷
A:while循環,一種常見的是j<=sqrt(i),用這個數的開方(根號)來指定搜索上限,這是因為:
一個數若可以進行因數分解,那麼分解時得到的兩個數一定是一個小於等於sqrt(n),一個大於等於sqrt(n)——所以只要搜索到根號的地方就可以了,提高了速度。
用i/j的方式是sqrt的一種變種,j<=sqrt(i),由於i>j>1,兩邊平方後不等式仍然成立
j^2<=i

兩邊除以j就變成了j
<=
i
/
j
B:第二處,根據j的數值來判斷i是否是素數。當在循環中找到i
%
j
==
0的情況,循環會提前退出,導致j
< i
/
j——說明不是素數;如果循環沒有提前退出,說明i是素數,這時j的值>
i
/
j

3. python 找最大質數問題

"""題主的問題主要有三個:
1.max_prime中的i錯寫成了x,這是導致錯誤的原因
2.s=[]應放在函數max_prime中,這樣才符合程序設計原則
3.如果要求的是包含x在內的最大質數,max_prime函數中range應
寫成range(2,x+1),此時i的取值范圍才是2到x
此外,尋找最大質數時max_prime中遍歷時應該從後往前遍歷,此時遇到
的第一個質數就是所求最大質數,而不必從前遍歷做無用功。
修改代碼如下:
"""
defprime(x):
foriinrange(2,x//2+1):
ifx%i==0:
returnFalse
returnTrue

defmax_prime(x):
foriinrange(x,1,-1):#x+1以包含x本身
ifprime(i):
returni

print(max_prime(1000))

4. 用Python找質數

n=10000
numbers=list(range(2,n+1))
i=2
whilei<10001:
forminnumbers:
ifi<m:
whilem%i==0:#這邊你為什麼要用while呢,這邊如果m=3,i=2的話是會進入死循環的,改成if語句試試
k=m#這個沒必要存在,只接用numbers.remove(m)
numbers.remove(k)
i=i+1
print(numbers)
print(" Therewere",len(numbers),"primenumbersupto",n)
#下面是修改後的

n=10000
numbers=list(range(2,n+1))
i=2
whilei<10001:
forminnumbers:
ifi<mandm%i==0:
numbers.remove(m)
i=i+1
print(numbers)
print(" Therewere",len(numbers),"primenumbersupto",n)

5. python中如何判斷素數

#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName :20200924_02.py
# @Time :2020/9/24 14:48
# @Author :Storm_ke
"""
統計質數的個數
"""
# import


def is_prime(n):
"""判斷一個正整數是否為素數回"""
if isinstance(n, int):
try:
for ind in range(2, n):
if n % ind == 0:
return False
return True
except ValueError:
return Exception
else:
return False


if __name__ == "__main__":
prime_count = 0
for i in range(1, 101):
if is_prime(i):
prime_count += 1
print("1到100之間有質數{0}個。答".format(prime_count))

6. python素數

第一空:
2
第二空:
1

7. python怎麼算出1~100的質數

希望對你有幫助

8. Python編程#輸出n以內的所有質數。

質數又稱素數。指在一個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數。
一般正常人的解法是兩次循環,假設求小於N的所有素數。一次用N-1之間的所有數去除,如果能被整除這個數肯定不是素數。否則是素數。

9. python 如何判斷一個數是不是質數

代碼如下:

#coding=utf8

printu'請輸入一個數:'
n=input()

isPrime=True

foriinrange(2,n):
ifn%i==0:
isPrime=False
break

ifisPrime:
printstr(n)+u'是一個素數。'
else:
printstr(n)+u'不是一個素數。'

10. Python求質數

如下:

importmath
defm(a,b):
ret=0
forxinrange(a,b+1):
foryinrange(2,int(math.sqrt(x))+1):
ifx%y==0:
break
else:
ret+=1
print(ret)

輸入:m(3,7)

得到:3

熱點內容
安卓快手伴侶懸浮怎麼設置 發布:2024-11-15 18:26:50 瀏覽:523
瀏覽器緩存好的視頻為什麼都刪了 發布:2024-11-15 18:23:06 瀏覽:160
睡眠緩解壓力 發布:2024-11-15 18:20:02 瀏覽:433
什麼是統一存儲 發布:2024-11-15 18:19:02 瀏覽:514
b01智能鎖出廠密碼是什麼 發布:2024-11-15 18:11:01 瀏覽:677
解壓密碼提示在哪裡 發布:2024-11-15 18:09:31 瀏覽:598
db2建表空間時怎麼配置頁大小 發布:2024-11-15 17:58:45 瀏覽:424
我的世界好玩地鐵伺服器 發布:2024-11-15 17:48:54 瀏覽:359
1710小游戲伺服器ip 發布:2024-11-15 17:48:01 瀏覽:663
狂三腳本 發布:2024-11-15 17:31:38 瀏覽:872