У меня есть вектор целых чисел, например, totalVector <- c(4,2,1)
, и две переменные totalResult
и totalNumber
.Я хочу сделать следующее:
Я хочу найти все УНИКАЛЬНЫЕ комбинации элементов totalNumber из totalVector, которые складываются в totalResult.Чтобы уточнить, если totalResult = 100 и totalNumber = 50, я хочу, чтобы все комбинации из 50 элементов из totalVector имели сумму 100 (очевидно, допускаются повторения, но дублирующие результаты, такие как 25 четверок и 25 переставленных четверок, должны учитываться толькоодин раз).
Первоначально я сделал это, расширив общий вектор (повторяя каждый элемент 50 раз), получив все комбинации из 50 элементов с combn()
, а затем отфильтровав их суммы.Однако для больших значений это оказалось очень неэффективно и не удалось из-за большого количества данных.Есть ли более быстрый и менее трудоемкий способ сделать это?