Binary 二进制数行上的哪些数字用于求和?

Binary 二进制数行上的哪些数字用于求和?,binary,sum,decomposition,Binary,Sum,Decomposition,寻找一种算法来确定连续二进制数行中哪些数字等于给定的和。例如,给定二进制数1,2,4,8,求和为13?唯一的答案是1+4+8 到目前为止,我的解决方案是从总和S中减去数字行中最大的数字N1。如果结果>0,则a)N1是总和中使用的数字之一,b)从S中减去N1到S1,然后重复下一个最大的数字是数字行 我的解决方案很有效,但看起来很粗糙,我想知道是否有更好的想法。性能时间不是一个因素。将总计转换为二进制格式并拾取1s。将总计转换为二进制格式并拾取1s。

寻找一种算法来确定连续二进制数行中哪些数字等于给定的和。例如,给定二进制数1,2,4,8,求和为13?唯一的答案是1+4+8

到目前为止,我的解决方案是从总和S中减去数字行中最大的数字N1。如果结果>0,则a)N1是总和中使用的数字之一,b)从S中减去N1到S1,然后重复下一个最大的数字是数字行


我的解决方案很有效,但看起来很粗糙,我想知道是否有更好的想法。性能时间不是一个因素。

将总计转换为二进制格式并拾取
1
s。将总计转换为二进制格式并拾取
1
s。