【问题标题】:how to find Elements from array which makes sum equals to given value如何从数组中找到使总和等于给定值的元素
【发布时间】:2020-06-04 23:45:29
【问题描述】:

数组中对给定数字求和的最小整数。程序应要求用户输入整数数组(“Input Array”)和所需的总和(“Required Sum”)。输出(“Output”)应列出输入数组中对“所需总和”求和的最小整数。请参阅下面给出的示例。

例子:

输入数组:[10, 0, -1, 20, 25, 30] 所需金额:45 输出:[20, 25]

所需总和:59 输出:[10, -1, 20, 30]

所需总和:60 输出:[10,20,30]

public static void main(String[] args) {

                int arr[]={10, 0, -1, 20, 25, 30};

                int sum=59 ,temp=0;

                for(int i=0;i<arr.length;i++){

                    for(int j=i;j<arr.length;j++){


                    if(arr[i]>arr[j]){

                        temp=arr[i];
                        arr[i]=arr[j];
                        arr[j]=temp;

                    }
                  }
                }

                for(int i=0;i<arr.length;i++){
                    System.out.println(arr[i]);
                  }

              for(int i=0;i<arr.length;i++){

                    for(int j=i;j<arr.length-1;j++){

                        if(arr[i]+arr[j]==sum){

                            System.out.println(arr[i]+","+arr[j]);

                            break;
                             }


                        else {
                            for(int k=j+1;k<arr.length-2;k++){

                                if(arr[i]+arr[j]+arr[k]==sum){

                                    System.out.println(arr[i]+","+arr[j]+","+arr[k]);

                                    break;
                                }
                            }
                        }

                     }

                  }         

【问题讨论】:

  • 您的代码在哪里,以便我们了解您正在使用的语言?
  • 这听起来很像家庭作业。 SO 不是代码编写服务或家庭作业服务。如果您发布代码并向我们展示您正在做的工作,但无法正确完成,我们可以帮助您解决特定的编码问题。

标签: arrays


【解决方案1】:

公共类 SumofArray {

public static void main(String[] args) {

    int arr[] = { 10, 0, -1, 20, 25, 30 };

    Scanner sc = new Scanner(System.in);

    System.out.println("enter the sum:");

    int sum = sc.nextInt();

    for (int i = 0; i < arr.length; i++) {
        System.out.print(arr[i]+" ");
    }

    ArrayList arraylist = new ArrayList();

    int y = 0;
    int l = arr.length - 1;

    for (int i = 0; i < arr.length; i++, l--) {

        for (int j = 1 + i; j < arr.length; j++) {

            for (int k = 1 + j; k < arr.length; k++){

                if (arr[i] + arr[j] == sum) {

                    arraylist.clear();
                    arraylist.add(arr[i]);
                    arraylist.add(arr[j]);

                }

                else if (arr[i] + arr[j] + arr[k] == sum) {

                    arraylist.clear();
                    arraylist.add(arr[i]);
                    arraylist.add(arr[j]);
                    arraylist.add(arr[k]);


                } 
                else if (arr[i] + arr[j] + arr[k] + arr[l] == sum) {

                    arraylist.clear();
                    arraylist.add(arr[i]);
                    arraylist.add(arr[j]);
                    arraylist.add(arr[k]);
                    arraylist.add(arr[l]);


                       }

                }
          }
    }

   System.out.println(arraylist);

} }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2019-03-27
    相关资源
    最近更新 更多