递归算法《M个苹果放入N个盘子》
生活随笔
收集整理的這篇文章主要介紹了
递归算法《M个苹果放入N个盘子》
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
把M個同樣的蘋果放在N個同樣的盤子里,允許有的盤子空著不放,問共有多少種不同的分法?(用K表示)5,1,1和1,5,1 是同一種分法。
輸入
每個用例包含二個整數M和N。0<=m<=10,1<=n<=10。
樣例輸入
7 3
樣例輸出
8
【代碼】
放蘋果分為兩種情況,一種是有盤子為空,一種是每個盤子上都有蘋果。
令(m,n)表示將m個蘋果放入n個盤子中的擺放方法總數。
1.假設有一個盤子為空,則(m,n)問題轉化為將m個蘋果放在n-1個盤子上,即求得(m,n-1)即可
2.假設所有盤子都裝有蘋果,則每個盤子上至少有一個蘋果,即最多剩下m-n個蘋果,問題轉化為將m-n個蘋果放到n個盤子上
即求(m-n,n)
綜上所述:
(m,n)=(m,n-1)+(m-n,n);
總結
以上是生活随笔為你收集整理的递归算法《M个苹果放入N个盘子》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 港联证券|消费电子概念走高,惠威科技、雷
- 下一篇: 自定义一个时钟的显示效果