蓝桥杯――分治法之子集合的个数

2014-11-24 13:23:12 · 作者: · 浏览: 32

{1,2,3}子集合的个数,有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},求n个元素组成的集合,m个元素组成的子集合的个数。

如上例,3个元素由其中2个组成的子集合有3个。

public class Main{

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print(cal(3, 2));
	}
	
	static int cal(int n,int m)
	{
		if(m==0||m>
n) { return 0; } if(m==1||n==m) { return 1; } return m*cal(n-1, m)+cal(n-1, m-1); } }