Вопросы к Поиску с Алисой
Для определения количества различных чисел в наборе с заданной суммой можно использовать метод динамического программирования. forum.sources.ru
Суть метода в том, что создаётся массив длиной, равной необходимой сумме. forum.sources.ru Каждый элемент массива означает, что можно набрать сумму, равную этому элементу. forum.sources.ru Сначала первый элемент массива равен 1, а все остальные — нулю. forum.sources.ru Затем в цикле берут очередное число и для всех ненулевых элементов помечают новые. forum.sources.ru
Также для решения подобных задач можно применять комбинаторные алгоритмы, которые позволяют найти все комбинации чисел из списка с заданной суммой. stackoverflow.com При этом порядок элементов не учитывается, а сами числа могут повторяться. stackoverflow.com