查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!
/**
* 编程求解:
输入两个整数 n 和 m,从数列1,2,3.......n 中 随便取几个数,
使其和等于 m ,要求求的组合数。
* @param args
*/
public static void main(String[] args) {
int n = 10;
int m = 4;
//递归实现
System.out.println(recursion(5,5));
}
static int recursion(int total , int sum ){
if(total<=0||sum<=0){
return 0;
}
else if(total == sum){
return 1 + recursion( total-1 , sum );
}
else{
return recursion( total-1 , sum )+recursion( total-1 , sum-total );
}
}
文章结束给大家分享下程序员的一些笑话语录: 真正的程序员喜欢兼卖爆米花,他们利用CPU散发出的热量做爆米花,可以根据米花爆裂的速度听出正在运行什么程序。
--------------------------------- 原创文章 By 整数和实现 ---------------------------------