Как написать алгоритм ищущий из элементов массива сумму равную числу?
Помогите написать алгоритм ,который ищет из элементов массива сумму,которая будет равна определенному числу количество элементов в массиве(0< но >=100)
например :
Дан массив из 6 элементов и дано число 12
Элементы массива: 1 2 5 6 6 3 .
Здесь 6 + 6 = 12, 1+5+6=12,1+2+3+6=12, достаточно чтобы вывелась одна из сум (например: 6 6)
Отсортировать массив по убыванию, потом рекурсивный перебор до совпадения суммы.
Можно и без сортировки, но боюсь, что на больших размерах массива без сортировки скорость алгоритма катастрофически упадёт (условие выхода из рекурсии будет "более слабым" без сортировки).
Сортируешь массив по возрастанию. Берешь 0 элемент и крайний правый. Складываешь их, если сумма больше нужного числа, то правый элемент уменьшает на один, если меньше, то левый увеличивает на один и так пока не найдешь нужное или не встретятся.