怎么用Python通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題

本篇內(nèi)容主要講解“怎么用Python通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么用Python通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題”吧!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、天門網(wǎng)站維護(hù)、網(wǎng)站推廣。

題目如下:

怎么用Python通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題

這道題可以用數(shù)學(xué)方法來做,但我離開學(xué)校很多年了,想不出數(shù)學(xué)的解法。不過看到題目的一瞬間,我就想到了可以使用動(dòng)態(tài)規(guī)劃來解決這個(gè)問題。

我們把“家”的位置標(biāo)記為(0, 0),把單位的位置標(biāo)記為(4, 3),如下圖所示:

怎么用Python通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題

動(dòng)態(tài)規(guī)劃的一個(gè)典型解法,就是想問題的時(shí)候,倒著想。假設(shè)現(xiàn)在我已經(jīng)在單位(4, 3)了。我上一步是在哪里?要到(4, 3),只有兩種方法,從(3,  3)到(4, 3)或者從(4, 2)到(4, 3)?,F(xiàn)在問題的規(guī)??s小了,變成了兩個(gè)小問題,一個(gè)是從家(0, 0)到(4, 2)有多少種走法,另一個(gè)是從家(0,  0)到(3, 3)有多少種走法。

到這里,我們看出來這實(shí)際上是一個(gè)遞歸問題,也就是fn(x, y) = f(x - 1, y) + f(x, y - 1)。

不過,這里要考慮另一個(gè)問題,就是當(dāng)我們?cè)趂n(x, 0)或者fn(0, y)的時(shí)候。如果 x > 1,那么此時(shí)只有一種走法,就是從(x-1, 0)到  (x, 0)。如果x == 1,那么此時(shí)只能是從(0, 0)到(1, 0)。同理,對(duì)于(0, y)也是一樣,如果y > 1,那么只能從(0, y -  1)到(0, y)。如果y == 1,那么只能是從(0, 0)到(0, 1)。

于是,根據(jù)這個(gè)思路,我們可以寫出如下的代碼:

def find_walk_num(x, y):     if y == 0:         if x == 1:             return 1         return find_walk_num(x - 1, 0)     if x == 0:         if y == 1:             return 1         return find_walk_num(0, y - 1)     return find_walk_num(x - 1, y) + find_walk_num(x, y - 1)  result = find_walk_num(4, 3) print(f'從(0, 0)到(4, 3)的走法一共有:{result}種')

運(yùn)行效果如下圖所示:

怎么用Python通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題

到此,相信大家對(duì)“怎么用Python通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

標(biāo)題名稱:怎么用Python通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題
文章路徑:http://muchs.cn/article16/jchidg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、用戶體驗(yàn)、微信公眾號(hào)、標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司