python質數判斷
❶ 在python中質數如何表示
質數又稱素數,指一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數。下面是求質數的程序,例如輸入15,會輸出【2,3,5,7,11,13】共6個15以內的質數。可以拷到vscode 或者pycharm裡面試試。
import math
number = int(input("請輸入一個數值: "))
list1 = []
# 如果用戶輸入的數字大於1
if number > 1:
for i in range(number+1):
# 進行判斷
for j in range(2, i):
if (i % j) == 0:
break
else:
if i == 0 or i == 1:
pass
else:
list1.append(i)
else:
print("小於或者等於1的數值不是質數")
print("{}以內的數值中是質數的有{},共{}個".format(number,list1,len(list1)))
❷ python判斷素數是什麼
判斷是否為素數的方法:
1、利用for循環和break語句,代碼為【for i in range(2, k+2):if m % i == 0:break】。
2、利用while循環和bool變數。
python使用技巧
如果在異常處理程序或 finally 塊中引發異常,默認情況下,異常機制會隱式工作會將先前的異常附加為新異常的 __context__ 屬性。這就是 Python 默認開啟的自動關聯異常上下文。
如果你想自己控制這個上下文,可以加個 from 關鍵字( from 語法會有個限制,就是第二個表達式必須是另一個異常類或實例。),來表明你的新異常是直接由哪個異常引起的。
❸ python語言編寫函數f,判斷一個數是否為質數如果是返回值是true,否則返回值是f
def f(n):
if n < 2 or n == 4:
return False
elif n == 2 or n == 3 or n == 5:
return True
for i in range(2, int(n/2)+1):
if n % i == 0:
return False
return True
n = int(input('請輸入一個數字:'))
if f(n):
print('是質數')
else:
print('不是質數')
❹ Python代碼判斷16、26、53、78那幾個是素數
根據素數定義,一個數只要除了1和它自己之外沒有其它的因數,這個數就是素數,但1不是素數。
又可以證明一個數n如果是合數,它必有一個因數位於[2,int (√n)]之間,或必有一個因數a滿足a>=2 and a*a <=n and n%a==0,換言之,如果沒有這樣的a存在,則n就是素數。
因此,代碼可以這樣寫:
for e in 16,26,53,78:
a = 2
while a*a <= e:
if e%a==0:
break
a+=1
else:
print (f'{e}是素數')
截圖:
❺ 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))
❻ 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的一種變種,jj>1,兩邊平方後不等式仍然成立
j^2<=i
兩邊除以j就變成了j
<=
i
/
j
B:第二處,根據j的數值來判斷i是否是素數。當在循環中找到i
%
j
==
0的情況,循環會提前退出,導致j
< i
/
j——說明不是素數;如果循環沒有提前退出,說明i是素數,這時j的值>
i
/
j
❼ python求質數的演算法
很早 的一個 函數
❽ python判斷是否為素數的函數
具體步驟如下:
1、打開pycharm,點擊file,點擊new,新建一個空白的pyrthon文件:
❾ 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'不是一個素數。'
❿ python中怎麼判斷一個數是素數
1、實現源碼
def isPrime():
n = int(input("請輸入一個數字:"))
if n > 1:
for k in range(2, n):
if n % k == 0:
print(n, "不是素數")
break
else:
print(n, "是素數")
else:
print(n, "不是素數")
isPrime()
2、實現結果
請輸入一個數字:5
5 是素數
請輸入一個數字:10
10 不是素數