@Abn30

Как написать алгоритм ищущий из элементов массива сумму равную числу?

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы