日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Python這么強,能不能讓它解決一下難倒無數人的奇葩數學題呢?今天我們就用Python求解幾個實際的數學題來了解一下Python的一些基本的算法。如果你剛好入門Python,懂一些Python的基本語法,那么剛好可以了解一下,對你的算法提升可能有一定幫助。本文難度為:入門。所以高手請忽略。

Python基礎算法之(快速求解)

 

暴力求解

暴力求解是已知最古老的算法之一,在科學應用中有其特殊的優勢,尤其是計算機技術的出現,使其解題優勢變得更加明顯,暴力求解或許是解決問題的算法中最“簡單粗暴”的方式了,它是計算機解邏輯類題的基礎方法,由于其實現較為簡單,效率高,所以算法使用已經非常普遍。

問題1:雞兔同籠,雞兔共78只,腳200只,問:雞和兔各多少只?

典型的雞兔同籠問題,曾幾何時,那是我們小學數學時代的噩夢!而今天,用Python暴力求解完全可以不費吹灰之力計算結果。

for ji in range(1,79):
    tu=78-ji
    if ji*2+tu*4==200:
        print('雞有{}只,兔有{}只'.format(ji,tu))
        break

運行結果:

雞有56只,兔有22只

注:在計算出結果后使用break打斷循環,實現短路求值,避免多余的無效計算,可以有效的提升計算效率。

Python基礎算法之(快速求解)

用Python快速求解雞兔同籠問題


問題2:雞兔同籠,兔比雞少15只,共有腳282只,問:雞和兔各多少只?

雞兔同籠問題的第二類。

for ji in range(15,100):
    tu=ji-15
    if ji*2+tu*4==282:
        print('雞有{}只,兔有{}只'.format(ji,tu))
        break

運行結果:

雞有57只,兔有42只

問題3:小明用10元錢正好買了20分和50分的郵票共35張,求這兩種郵票名買了多少張?

雞兔同籠問題的類似問題。

for a in range(35):
    b=35-a
    if a*2+b*5==100:
        print('20分郵票{}張,50分郵票{}張'.format(a,b))
        break

運行結果:

20分郵票25張,50分郵票10張

問題4:儲蓄罐里共2分和5分硬幣70枚,小剛數了一下,一共有194分,求兩種硬幣各有多少枚?

for a in range(70):
    b=70-a
    if a*2+b*5==194:
        print('2分硬幣{}枚,5分硬幣{}枚'.format(a,b))
        break

運行結果:

2分硬幣52枚,5分硬幣18枚

問題5:一個運輸隊包運10000只瓶子,每100只可得運費1元5角,如損壞一只不但不給運費,還要賠償2角。這個隊共得運費146元5角6分,損壞了幾只瓶子?

最煩這種難以理解,邏輯燒腦的題了,想當年學生時代做這種題的時候可沒少挨打。

for a in range(10000):
    b=10000-a
    if b*0.015-a*0.2==146.56:
        print('共壞了%d個瓶子'%a)
        break

運行結果:

共壞了16個瓶子

問題6:物流公司里有A、B兩種車,有一批大小一樣的箱子。假如A車運來4車貨物,用B車裝走,B車裝滿了6車后還剩下2件;假如A和B兩種車一起裝貨,A裝滿6車,B裝滿7車,一共能裝83件。請問:A車和B車每車各能裝幾件貨物?

要是當年上學,看到兩個未知數,我基本就放棄抵抗了。現在,利用and條件暴力求解兩個未知數輕而易舉。

for a in range(100): 
    for b in range(100):
        if a*4-b*6==2 and a*6+b*7==83:  
            print('A車每車能裝{}件,B車每車能裝{}件'.format(a,b))
            break

運行結果:

A車每車能裝8件,B車每車能裝5件

問題7:一批鋼材,用小卡車裝載要45輛,用大卡車裝載只要36輛。已知每輛大卡車比每輛小卡車多裝4噸,那么這批鋼材有多少噸?

分析:我們只要計算出小卡車能裝多少噸就可以算出總數。

for x in range(50):
    if 45*x==36*(x+4):
        print('一共有{}噸'.format(45*x))
        break

運行結果:

一共有720噸

問題8:已知某座橋長800米,一列火車從橋上通過,測得火車從剛上橋到完全通過耗時45秒,整列火車都在橋上的時長是35秒,求火車的速度和長度。

換個思路變成二元一次方程組 ,設火車速度為x,長度為y。

for x in range(100):
    for y in range(200):
        if 45*x==800+y and 35*x==800-y:
            print('火車速度是{}米每秒,火車長度{}米'.format(x,y))
            break

運行結果:

火車速度是20米每秒,火車長度100米

問題9:看圖回答衣服與籃球價格問題。

Python基礎算法之(快速求解)

衣服與籃球價格問題

還是按照以上的方法,將其寫成代碼即可,假設衣服價格x,籃球價格y。

for x in range(100):
    for y in range(100):
        if 3*x+2*y==295 and 5*x+4*y==515:
            print('衣服單價是{}元,籃球單價是{}元'.format(x,y))
            print('2件衣服加3個籃球一共{}元'.format(2*x+3*y))
            break

運行結果:

衣服單價是75元,籃球單價是35元
2件衣服加3個籃球一共255元

通過以上題解你應該明白了Python暴力求解的基本算法,是不是非常簡單又方便?寫代碼是不是比解數學題容易多了?畢竟代碼我們只要把算法過程寫完丟給電腦去執行就可以了,而數學題是需要自己一步一步去算的。其實還有更多更復雜的問題都可以用暴力求解來快速解決,還可以結合多種算法解決問題,需要結合實踐多練習。

分享到:
標簽:算法 Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定