#binary #sum #decomposition
#двоичный #сумма #разложение
Вопрос:
Ищем алгоритм для определения того, какие числа в непрерывной строке двоичных чисел равны заданной сумме. Например, учитывая двоичные числа 1,2,4,8, которые необходимо суммировать до 13? Единственный ответ 1 4 8 .
Мое решение пока состоит в том, чтобы вычесть наибольшее число N1 в строке чисел из суммы S. Если результат > 0, то а) N1 является одним из чисел, используемых в сумме, б) вычтите N1 из S в S1, затем повторите со следующим по величине числом в строке чисел.
Мое решение работает, но кажется грубым, было интересно, есть ли какие-нибудь идеи получше. Время выполнения не является фактором.
Комментарии:
1. Преобразуйте итоговое значение в двоичный формат и получите
1
s.