Как я могу получить элементы из массива, которые делают сумму равной заданному значениюJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Как я могу получить элементы из массива, которые делают сумму равной заданному значению

Сообщение Гость »


как найти наименьшее количество целых чисел в массиве, суммирующем заданное число. Программа должна попросить пользователя ввести массив целых чисел («Входной массив») и требуемую сумму («Требуемая сумма»). На выходе («Выход») должно быть указано наименьшее количество целых чисел из входного массива, которое суммирует «Требуемую сумму».

здесь я создаю функцию sum() и объявляю массив с некоторыми элементами при чтении суммы от пользователя 45, это дает мне вывод 25,25, но когда я ввожу 59 и 60 ничего не отображается

Код: Выделить всё

 public static void sum()
{

int arr[]={10,0,-1,20,25,30};
Scanner in=new Scanner(System.in);
int sum=in.nextInt();

int[] sub = new int[arr.length];
int temp = 0;
for (int i = 0; i < arr.length; i++)
{
for (int j = i, col = 0; j < arr.length; j++, col++)
{
//add the value of input array one by one
temp += arr[j];
sub[col] = arr[j];
//if addition is equal to sum then print it
if (temp == sum)
{
int total = 0;
for (int k = 0; k < sub.length; k++)
{
total += sub[k];
System.out.println(sub[k]);

//if total and sum are equal then leave the print
if (total == sum)
{
System.out.println();
break;
}
}
}
//if temp is greater than sum are equal then clear the sub array, set temp value and leave the loop for next
if (temp > sum)
{
temp = 0;
break;
}
}
}

}
Output Example:

Input Array : [10, 0, -1, 20, 25, 30]

Required Sum: 45
Output: [20, 25]

Required Sum: 59
Output: [10, -1, 20, 30]

Required Sum: 60
Output: [10, 20, 30]


Источник: https://stackoverflow.com/questions/567 ... iven-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»