溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python編程新手看過來,如何求素?cái)?shù) (Python學(xué)習(xí)教程)

發(fā)布時(shí)間:2020-08-05 10:07:26 來源:ITPUB博客 閱讀:295 作者:千鋒Python唐小強(qiáng) 欄目:編程語言

本期的Python學(xué)習(xí)教程是針對(duì)新入門Python編程的新手來寫的:關(guān)于怎么求素?cái)?shù)!

Python編程新手看過來,如何求素?cái)?shù) (Python學(xué)習(xí)教程)

一、什么是素?cái)?shù)?

素?cái)?shù)就是質(zhì)數(shù),通俗點(diǎn)說就是只能被1和其本身整數(shù)的數(shù)就是素?cái)?shù)(1除外)

舉個(gè)例子:

2,3,4,5,6當(dāng)中,根據(jù)上面的定義,2只能被1整數(shù)(因?yàn)槿魏螖?shù)和1整除都都等于它本身)

Python編程新手看過來,如何求素?cái)?shù) (Python學(xué)習(xí)教程)

二、素?cái)?shù)計(jì)算思路

2/1=2

2/2=1

所以 2 是素?cái)?shù)

3/1 =3

3/2 =1.5

3/3 = 1

所以 3 也是素?cái)?shù)

我們?cè)倏?4

4/2 = 2

因?yàn)?4 不僅能被 1 和 其本身整除,還可以被2整除,所以4不是素?cái)?shù),所以后面都可以不用計(jì)算了

后面的就以此類推

三、上手編程

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

第一種編程思路:我們給定一個(gè)數(shù)字 x ,然后我們利用 2 ~ (x -1) 之間的每一個(gè)數(shù)字與 x 進(jìn)行整除,如果出現(xiàn)可以被整除的情況,則這個(gè)數(shù)字就不是素?cái)?shù),然后循環(huán)就可以跳出去

# 求 a~b之間的素?cái)?shù)
def su(a,b):
 for i in range(a,b):
 n = False #默認(rèn)不是素?cái)?shù),如果是素?cái)?shù),跳出循環(huán)
 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

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

# 求 a~b之間的素?cái)?shù)
def su(a,b):
 for i in range(a,b):
 n = False #默認(rèn)不是素?cái)?shù),如果是素?cái)?shù),跳出循環(huán)
 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學(xué)習(xí)教程 主要針對(duì)的是新入門的伙伴,Python剛起步的小伙伴可以重點(diǎn)看一下了。后面更多的 Python學(xué)習(xí)教程 Python學(xué)習(xí)路線 會(huì)繼續(xù)為大家分享?。?!


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI