我不知道如何搜索或在Google上搜索,所以我在这里问。我有一个整数数组,大小固定,并且恰好符合此逻辑。
sample [1,2,4,8,16,32]
现在我有一个数字,例如26。我需要找到这个数字的和为该数字的数字,即[2,8,16]。
对于数字20,它将是[4,16]。
对于40,它是[8,32]。
对于63,它是所有这些数字[1,2,4,8,16,32]。
请问什么是正确的算法?
我知道严格来说,这个数字总是前一个值的两倍。只有给定数组中的数字才能相加得到给定数字,并且每个数字只使用一次或不使用。
如果用C#方法来实现,该方法会接受一个整数数组和一个整数值,并返回包含从给定数组中相加得到该数字的整数的整数数组。
谢谢。
[1,2,4,8,16,32] = [2^0 ... 2^5]
。 - Rahul