輸入兩個整數值n和m,求出整數1到n之間的和為m的所有組合
阿新 • • 發佈:2019-01-10
/** * java實現,參考寫的 */ import java.util.ArrayList; import java.util.Scanner; public class Lx{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int m=sc.nextInt(); int sum=0; ArrayList<Integer> list=new ArrayList<Integer>(); computeSum(n,m,list,sum); sc.close(); } public static void computeSum(int n, int m, ArrayList<Integer> list, int sum) { if(sum>m){ return; } else if(sum==m){ if(list.get(0)<=list.get(list.size()-1)){ for(int j=0;j<list.size();j++){ System.out.print(String.valueOf(list.get(j))+" "); } System.out.println(); } return; } int i; for(i=1;i<n+1;i++){ if(!list.contains(i)){ list.add(i); computeSum(n,m,list,sum+i); list.remove(list.size()-1); } } return; } }