真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python算法一:枚舉法-創(chuàng)新互聯(lián)

1.定義:枚舉法也稱為窮舉法,是利用計算機運算速度快、精確度高的特點,對要解決問題的所有可能情況,一個不漏地進行檢驗,從中找出符合要求的答案,因此枚舉法是通過犧牲時間來換取答案的全面性。因此,使用枚舉法解決問題時,需要考慮優(yōu)化算法,選擇恰當?shù)拿杜e對象,盡量分析出問題中的隱含條件,縮小枚舉范圍,以提高解決問題的效率。
2.一般結(jié)構(gòu):循環(huán)(窮舉范圍)+判斷(檢驗條件)。

創(chuàng)新互聯(lián)服務(wù)項目包括涇源網(wǎng)站建設(shè)、涇源網(wǎng)站制作、涇源網(wǎng)頁制作以及涇源網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,涇源網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到?jīng)茉词》莸牟糠殖鞘?,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

例題1:請輸出所有的兩位偶數(shù)。

分析:

窮舉范圍:兩位數(shù)范圍是10-99。利用range(10,100)可生成10-99的列表

判斷條件:偶數(shù)滿足除以二的余數(shù)為0。i%2==0? 此條件滿足則i為偶數(shù)

代碼如下:

for i in range(10,100):
    if i%2==0:
        print(i)

例題2:輸入一個數(shù),判斷該數(shù)是否為質(zhì)數(shù)

分析:

窮舉范圍:n為素數(shù),需要滿足n%2!=0,n%3!=0 ... n%n-1!=0,n的除數(shù)范圍應(yīng)該為2-n-1。

判斷條件:n%i==0 則代表i是n的因數(shù),n不是素數(shù),當窮盡所有的i,該條件都不滿足,則n為素數(shù)

代碼如下:

n=int(input())
for i in range(2,n-1):
    if n%i==0:
        break
else:
    print(n,是素數(shù))

例題3:請輸出所有的兩位質(zhì)數(shù)

分析:

窮舉范圍:兩位數(shù)范圍是10-99。利用range(10,100)可生成10-99的列表

判斷條件:判斷每一個n是否為素數(shù),利用例題2中相關(guān)代碼

代碼如下:

for n in range(10,100):
    for i in range(2,n-1):
        if n%i==0:
            break
    else:
        print(n,"是素數(shù)")

另一種做法:

t=0
for n in range(10,100):
    for i in range(2,int(2,int(n**0.5)+1)):
        if n%i==0:
            t=1
            break
if t==1:
    print(n."是素數(shù)")
else:
    print(n,“不是素數(shù)”)

例題4:這個問題,是我國古代著名趣題之一。 大約在1500年前,《孫子算經(jīng)》中就記載了這個有趣的問題。 書中是這樣敘述的:“今有雉兔同籠,上有三十五頭,下有九十四足, 問雉兔各幾何?這四句話的意思是: 有若干只雞兔同在一個籠子里,從上面數(shù),有35個頭 ?;從下面數(shù),有94只腳。求籠中各有幾只雞和兔?

分析:

窮舉范圍:兔的只數(shù)范圍為1-34,對應(yīng)的雞的只數(shù)為34-1

判斷條件:根據(jù)每組可能解判斷兔的只數(shù)*4+雞的只數(shù)*2==94是否成立,如果成立,則代表這組可能解成立

代碼如下:

for tu in range(1,34):
    ji=34-tu
    if tu*4+ji*2==94:
        print(“兔的只數(shù)為”,tu,“雞的只數(shù)為”,ji)

例題5:一個三位數(shù)如果滿足該數(shù)本身=百位上的數(shù)字**3+十位數(shù)字**3+個位上的數(shù)字**3,則該數(shù)被稱為三位自冪數(shù),也叫作水仙花數(shù)。請輸出所有的水仙花數(shù)。

窮舉范圍:三位數(shù)的范圍是100-999。利用range(100,1000)可以生成該列表。

判斷條件:該數(shù)本身=百位上的數(shù)字**3+十位數(shù)字**3+個位上的數(shù)字**3

代碼如下:

for i in range(100,1000):
    bai=i//100
    shi=i//10%10
    ge=i%10
    if bai**3+shi**3+ge**3==i:
        print(i,“是水仙花數(shù)”)

例題6:公雞5元一只,母雞3元一只,小雞3只一元, 用100元買一百只雞。其中公雞,母雞,小雞都必須要有。問公雞,母雞,小雞要買多少只剛好湊足100元

窮舉范圍:公雞只數(shù)范圍是1-20,母雞只數(shù)1-33,小雞只數(shù)1-300

判斷條件:公雞只數(shù)+母雞只數(shù)+小雞只數(shù)==100? 且? 公雞的錢數(shù)+母雞的錢數(shù)+小雞的錢數(shù)==100

代碼如下:

for cock_num in range(1,21):          #公雞只數(shù)可能為1-20
    for hen_num in range(1,34):       #母雞只數(shù)可能為1-33
        for chick_num in range(1,101): #(3小雞)只數(shù)可能為1-100
            money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price
            num1=cock_num+hen_num+chick_num*3
            if money1==100 and num1==100:
                print (cock_num,hen_num,chick_num*3) #(③小雞數(shù))

例題7:輸入兩個數(shù),求出這兩個數(shù)的大公約數(shù)

窮舉范圍:大公約數(shù)可能是1-兩個數(shù)中較小的那個

判斷條件:這兩個數(shù)除以大公約數(shù)的余數(shù)都為0

代碼如下:

m=int(input())
n=int(input())
for i in range(min(m,n),0,-1):
    if m%i==0 and n%i==0:
        print(m,"和",n,"的大公約數(shù)是",i)

例題8:孿生素數(shù)(質(zhì)數(shù)對)

所謂孿生素數(shù)指的是間隔為2的兩個相鄰素數(shù),因為它們之間的距離已經(jīng)近得不能再近了,如同孿生兄弟一樣,故將這一對素數(shù)稱為孿生素數(shù)。顯然,最小的一對孿生素數(shù)是(1,3)。我們可以寫出3~100以內(nèi)的孿生素數(shù),一共有8對,分別是(3,5),(5,7),(11,13),(17,19),(29,31),(41,43)(59,61)和(71,73)。隨著數(shù)字的增大,孿生素數(shù)的分布也越來越稀疏,人工尋找孿生素數(shù)變得非常困難。關(guān)于孿生素數(shù)還存在著一個著名的猜想——孿生素數(shù)猜想,即孿生素數(shù)是否有無窮多對,這是數(shù)論中還有待解決的一個重要問題。此處我們只討論在有限范圍內(nèi)的孿生素數(shù)求解問題。
問題:編程求出3~1000以內(nèi)的所有孿生素數(shù)。

分析:

在判斷孿生素數(shù)之前首先需要判斷這個數(shù)字是否為素數(shù),如果連素數(shù)都不是的話也就沒有必要再繼續(xù)去判斷了。函數(shù)定義如下:

def isprime(n):

    for i in range(2,n-1):
        if n%i==0:
            return False
    else:
        return True

窮舉范圍:第一個數(shù)的范圍是2—998,另一個數(shù)的范圍則是4—1000

判斷條件:第一個數(shù)和另一個數(shù)調(diào)用isprime()函數(shù)的返回值均為True

def isprime(n):

    for i in range(2,n-1):
        if n%i==0:
            return False
    else:
        return True
#主程序
for i in range(2,999):
    if isprime(i) and isprime(i+2):
        print(i,"和",i+2,"是孿生素數(shù)")

例題9:完全數(shù)(Perfect number),又稱完美數(shù)或完備數(shù),是一些特殊的自然數(shù)。它所有的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于它本身。
如果一個數(shù)恰好等于它的因子之和,則稱該數(shù)為“完全數(shù)”。第一個完全數(shù)是6,第二個完全數(shù)是28,第三個完全數(shù)是496,后面的完全數(shù)還有8128、33550336等等。

編程1:輸入一個數(shù),判斷這個數(shù)是否是完數(shù)。

分析:

利用for循環(huán)找到該數(shù)的所有因子,求出因子之和。若因子和與該數(shù)相等則該數(shù)為完數(shù)。

n=int(input())
s=0
for i in range(2,n):
    if n%i==0:
        s=s+i
if s==n:
    print(n,"是完數(shù)")

編程2:輸出1-1000以內(nèi)所有的完數(shù)

分析:

利用編程1自定義一個可以判斷該數(shù)是否為完數(shù)的函數(shù)

窮舉范圍:1-1000

判斷條件:該數(shù)為完數(shù),則輸出

def ws(n):
    s=1
    for i in range(2,n):
        if n%i==0:
            s=s+i
    if s==n:
        return True

#主程序
for i in range(1,1001):
    if ws(i):   
        print(i)

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


當前文章:python算法一:枚舉法-創(chuàng)新互聯(lián)
新聞來源:http://weahome.cn/article/dcscce.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部