python指令碼判斷乙個數是否為素數的幾種方法

2021-09-04 19:09:20 字數 1539 閱讀 2876

質數又稱素數。指在乙個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數。素數在數論中有著很重要的地位。比1大但不是素數的數稱為合數。1和0既非素數也非合數。質數是與合數相對立的兩個概念,二者構成了數論當中最基礎的定義之一。基於質數定義的基礎之上而建立的問題有很多世界級的難題,如哥德**猜想等。算術基本定理證明每個大於1的正整數都可以寫成素數的乘積,並且這種乘積的形式是唯一的。這個定理的重要一點是,將1排斥在素數集合以外。如果1被認為是素數,那麼這些嚴格的闡述就不得不加上一些限制條件。

前幾天偶爾的有朋友問python怎麼判斷素數的方法,走網上查了查,總結了python指令碼判斷乙個數是否為素數的幾種方法:

#運用python的數學函式 

import math  

def isprime(n):  

if n <= 1:  

return

false

for i in range(2, int(math.sqrt(n)) + 1):  

if n % i == 0:  

return

false

return

true

#單行程式掃瞄素數

from math import sqrt  

n = 100

[ p for p in   range(2, n) if

0not

in [ p% d for d in range(2, int(sqrt(p))+1)] ]  

#運用python的itertools模組

from itertools import count  

def isprime(n):  

if n <= 1:  

return

false

for i in count(2):  

if i * i > n:  

return

true

if n % i == 0:  

return

false

#不使用模組的兩種方法

def isprime(n):  

if n <= 1:  

return

false

i = 2

while i*i <= n:  

if n % i == 0:  

return

false

i += 1

return

true

def isprime(n):  

if n <= 1:  

return

false

if n == 2:  

return

true

if n % 2 == 0:  

return

false

i = 3

while i * i <= n:  

if n % i == 0:  

return

false

i += 2

return

true

Python判斷乙個數是否為小數

一 判斷乙個數是否為小數 1 有且僅有乙個小數點 2 小數點的左邊可能為正數或負數 3 小數點的右邊為正數 二 實現 def is float str if str.count 1 小數有且僅有乙個小數點 left str.split 0 小數點左邊 整數字,可為正或負 right str.spli...

判斷素數 Python判斷乙個數是否為素數

素數的定義 乙個數如果只能被1和自身整除,則該數為素數。如果用程式設計的思維思考,則是說,如果乙個數被比它小的數 1除外 整除後餘數為0,則說明這個數可以被其他數整除,則該數為合數,否則該數為質數。python 如下 注釋 range 的起始值應該設為2,如果起始值設為1,則會第一次列印說該數是合數...

判斷乙個數是否為回文數

問題描述 輸入乙個數值判斷是否為回文數 回文數是指乙個像12321 123321這樣 對稱 的數 解題思路 將數值的各個位存放在陣列中,若陣列中元素左右對稱,則為回文數,反之不是 設定 left 陣列最左邊下標 right 陣列最右邊下標 首先判斷第乙個和最後乙個數值是否相等,若相等,left ri...