M個蘋果放在N個盤子裡,有多少種不同的放法

2021-09-02 13:03:18 字數 431 閱讀 3534

m個同樣的蘋果放n個同樣的盤子,允許有盤子空著, 問有多少種放法?

令f(m,n)表示m個蘋果放到n個盤子裡有多少種放法,下面分類討論:

mm>n時,按是否有空盤子 分2種情況:

a.假設至少乙個盤子空著,相當於f(m,n)=f(m,n-1)

b.所有的盤子都有蘋果,假設每個盤子可以先放乙個,問題就變成:m-n個蘋果放到n個盤子,即f(m,n)=f(m-n,n)

總的放法為二者之和, f(m,n)=f(m,n-1)+f(m-n,n)

3. 臨界條件

n=1時,所有蘋果都放在同乙個盤子裡   f(m,n)=1

m=0時,沒有蘋果                    f(m,n)=1

用遞迴實現分治

public int fun(int m,int n)

m個蘋果放在n個盤子中有多少種結果

m個蘋果放在n個盤子中有多少種結果,前置條件 根據題意,也就是有3種情況,的確完全重複的擺放方式是沒多大意義的 這題可以用列舉的描述方式進行尾遞迴求解 情況二 情況三 情況四 btw,存在乙個以上的空盤擺放方式與圖上的重複擺放方式是等價的,尾遞迴甚至效率並不比迴圈低,說了這麼多,研究此類問的方法還是...

演算法分析 N個蘋果放在N個盤子裡的問題

題的描述 現在有n個一模一樣的蘋果,要放在編號為1 2 3 n的盤子裡 假設盤子足夠大,能放下所有的蘋果 問一共有多少種放法?演算法分析 用符號f i,j 表示i個蘋果放在j個盤子裡的放法數 如果1號盤子裡沒有蘋果,則i個蘋果要放在剩餘的j 1個盤子裡 如果1號盤裡有1個蘋果,則剩餘的i 1個蘋果放...

m個蘋果放入n個盤子

放蘋果問題 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?注 5,1,1和1,1,5是同一種分法 解題分析 設f m,n 為m個蘋果,n個盤子的放法數目,則先對n作討論,當n m 必定有n m個盤子永遠空著,去掉它們對擺放蘋果方法數目不產生影響。即if n m ...