一个递归的经典算法

来源:互联网 发布:电话属于网络 编辑:程序博客网 时间:2024/05/17 20:37

关于一个求相加等于10的所有组合,比如10个1,看似很难实现的业务,其实核心代码不到10行就OK了

package chu.anywhere;import java.util.ArrayList;import java.util.List;public class digui {static List<Integer> a=new ArrayList<Integer>();public static void main(String[] args){paoLouTi(a,1,10);}public static void paoLouTi(List<Integer> a,int i,int t){if(t==0){System.out.println(a);}else if(i<=t){a.add(i);paoLouTi(a,i,t-i);a.remove(a.size()-1);paoLouTi(a,i+1,t);}}}