输入两个整数值n和m,求出整数1到n之间的和为m的所有组合

来源:互联网 发布:新东方网络口语班价格 编辑:程序博客网 时间:2024/05/17 02:33
/** * 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;}}

0 0
原创粉丝点击