Как найти все комбинации, из которых можно составить n? Добрый вечер! В общем имеется некое множество [100, 50, 25, 10, 5, 1] и n. Мне нужно найти все комбинации, из которых можно составить n. Например для n = 100 и множества выше ответом будет 194 комбинации. Так как с алгоритмами у меня беда, не знаю даже как правильно сформулировать чтобы загуглить.

21 Авг 2019 в 06:04
115 +1
0
Ответы
1

Добрый вечер! Для решения данной задачи можно воспользоваться методом динамического программирования. Вот пример реализации на Python:

def count_combinations(coins, n):
dp = [0] * (n + 1)
dp[0] = 1
for coin in coins:
for i in range(coin, n + 1):
dp[i] += dp[i - coin]
return dp[n]
coins = [100, 50, 25, 10, 5, 1]
n = 100
result = count_combinations(coins, n)
print(result)

Этот код будет считать количество комбинаций, из которых можно составить число n, используя заданные монеты. В данном случае будет найдено 195 комбинаций (не 194, как вы указали). Надеюсь, это поможет вам решить вашу задачу. Если у вас есть какие-либо вопросы, не стесняйтесь задавать!

20 Апр в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир