M个相同的苹果放在N个相同的盘子,共有多少种方法?(5 1 1 和1 5 1是一种放发)
数学公式:f(m,n) = f(m,n-1) + f(m-n,n-1) + f(m-2n,n-1)+```
思路:m个苹果放在n个盘子——f(m,n) 可以分为两类(之和):
1)至少有一个空盘子:f(m,n-1)
2)没有空盘子:f(m-n,n) ( 即m个盘子里都至少有1个苹果,接下来的苹果数为m-n )
以此类推。
编程实现:递推(java语言)
M个相同的苹果放在N个相同的盘子,共有多少种方法?(5 1 1 和1 5 1是一种放发)
数学公式:f(m,n) = f(m,n-1) + f(m-n,n-1) + f(m-2n,n-1)+```
思路:m个苹果放在n个盘子——f(m,n) 可以分为两类(之和):
1)至少有一个空盘子:f(m,n-1)
2)没有空盘子:f(m-n,n) ( 即m个盘子里都至少有1个苹果,接下来的苹果数为m-n )
以此类推。
编程实现:递推(java语言)