日期:2014-05-20  浏览次数:20680 次

求m个A,n个B 的排列种数???


class test {
public static void main(String[] args) {
System.out.println(f(2,4));//m=2,n=4
}
public static int f(int a,int b){
if(a==0||b==0) return 1;
return f(a-1,b)+f(a,b-1);//这一步是怎么得来的 O(∩_∩)O~ 没看懂
}
}

------解决方案--------------------
递归。。
------解决方案--------------------
自己把数值放进去想想就清楚了嘛,不过F这个方法是什么功能的,不清楚
------解决方案--------------------
自己调用自己,递归,你debug就知道了。。。
------解决方案--------------------
return f(a-1,b)+f(a,b-1);//这一步是怎么得来的 O(∩_∩)O~ 没看懂

这一步是return的值。比如mian中:System.out.println(f(2,4))调用方法
f(1,1)+f(2,3);这时候执行f(1,1)和f(2,3)