日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python函数找钱_找钱问题–动态规划一例

發布時間:2023/12/20 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python函数找钱_找钱问题–动态规划一例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用無限多的面值為 S = {S1, S2,  …, Sm} 的分幣,表示一個特定的分值n,有多少種方法?這個就是找錢問題 (Coin Change Problem)。

比如,用 1美分 和 5 美分,表示7美分,有2種方法,第一種是1個5美分,2個1美分;第二種是7個1美分。

因為順序對結果沒有影響,即“1個5美分,2個1美分”和“2個1美分,1個5美分”是一樣的,我們限定 S1 < S2 < … < Sm。用遞歸的方法,解法的數量 C(n, m),可以分成2類:

一類是表示方法里不需要 Sm的,另一類是表示方法里需要Sm的。如上面的例子,一類表示是需要5美分,另一類不需要。

于是,遞歸公式如下:

C(n, m) = C(n, m-1) + C(n-Sm, m)

Python代碼:def count1(n,m):

global numCalls

numCalls += 1

global S

if n == 0:

return 1

if n < 0:

return 0

if m == 1:

return 1

return count1(n, m-1) + count1(n-S[m-1],m)

S = (1,5,10,25)

numCalls = 0

print count1(100,len(S))

print numCalls

count1()函數的運

總結

以上是生活随笔為你收集整理的python函数找钱_找钱问题–动态规划一例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。