溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python編程新手看過來,如何求素數 (Python學習教程)

發布時間:2020-08-05 10:07:26 來源:ITPUB博客 閱讀:299 作者:千鋒Python唐小強 欄目:編程語言

本期的Python學習教程是針對新入門Python編程的新手來寫的:關于怎么求素數!

Python編程新手看過來,如何求素數 (Python學習教程)

一、什么是素數?

素數就是質數,通俗點說就是只能被1和其本身整數的數就是素數(1除外)

舉個例子:

2,3,4,5,6當中,根據上面的定義,2只能被1整數(因為任何數和1整除都都等于它本身)

Python編程新手看過來,如何求素數 (Python學習教程)

二、素數計算思路

2/1=2

2/2=1

所以 2 是素數

3/1 =3

3/2 =1.5

3/3 = 1

所以 3 也是素數

我們再看 4

4/2 = 2

因為 4 不僅能被 1 和 其本身整除,還可以被2整除,所以4不是素數,所以后面都可以不用計算了

后面的就以此類推

三、上手編程

這里給大家提供兩種思路,僅供參考

第一種編程思路:我們給定一個數字 x ,然后我們利用 2 ~ (x -1) 之間的每一個數字與 x 進行整除,如果出現可以被整除的情況,則這個數字就不是素數,然后循環就可以跳出去

# 求 a~b之間的素數
def su(a,b):
 for i in range(a,b):
 n = False #默認不是素數,如果是素數,跳出循環
 for j in range(2,i):
 if i%j == 0:
 n = True
 break
 
 if n == False:
 print(i,end=" ")
su(100,200)
# ans 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 
# 179 181 191 193 197 199

第二種編程思路,提高編程效率,如果我們要求的素數的區間比較大,比如 1w ~ 2w,然后光雙層循環就會浪費很多的時間,所以,我們可以把判斷條件改一下,我們不用把 2 ~ (x-1)之間的每一個數字進行整除,只需要對其 x^(0.5) 進行循環同樣可以得到結果

# 求 a~b之間的素數
def su(a,b):
 for i in range(a,b):
 n = False #默認不是素數,如果是素數,跳出循環
 for j in range(2,int(i**0.5)):
 if i%j == 0:
 n = True
 break
 if n == False:
 print(i,end=" ")
su(100,200)

今天先的 Python學習教程 主要針對的是新入門的伙伴,Python剛起步的小伙伴可以重點看一下了。后面更多的 Python學習教程 Python學習路線 會繼續為大家分享?。?!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女