天天看點

[華為機試真題]70.分蘋果

題目

思路

設f(m,n) 為m個蘋果,n個盤子的放法數目:

當n>m:必定有n-m個盤子永遠空着,去掉它們對擺放蘋果方法數目不産生影響。即if(n>m) f(m,n) = f(m,m)  

當n<=m:不同的放法可以分成兩類:

(1)有至少一個盤子空着,即相當于f(m,n) = f(m,n-1);

(2)所有盤子都有蘋果,相當于可以從每個盤子中拿掉一個蘋果,不影響不同放法的數目,即f(m,n) = f(m-n,n).而總的放蘋果的放法數目等于兩者的和,即 f(m,n) =f(m,n-1)+f(m-n,n)

遞歸出口條件說明:

代碼