【发布时间】:2018-01-11 12:05:28
【问题描述】:
有一个给定的数组Int a = {3,2,0,0,1,4,5,6,0}
现在数组的每个元素的 2 次方如下
2^3 + 2^2 + 2^0 + 2^0 + 2^1 + 2^4 + 2^5 + 2^6 + 2^0 = 129
找出 2 次方所需的最小元素,以便我们得到相同的十进制值。
129= 需要知道算法/函数来找到最小元素到 2 的幂,以便我们得到相同的十进制值,该值是从给定的数组计算到 2 的幂。
请告诉我我尝试过但无法弄清楚的功能
**已编辑**
我希望数组中的最小元素是 2 的幂。它给出了相同的值。whihc 是从给定的输入数组计算出来的。
**我想要的计算十进制的二进制表示如下
2^7+2^0 => 128+1 => 129 所以在 a[] ={0,7} 中,两个元素
是可能的解决方案。因为我希望最小的不是 2 的幂。
可能有类似的解决方案
2^6+2^1+2^0= 129 所以在 a[] ={0,1,6} 中,三个元素
但我希望尽可能少**
我将数组中的每个元素都取为 2 的幂,然后计算小数点。但无法找到最小元素来计算相同的小数到 2 的幂。
【问题讨论】:
-
你能更好地描述这个算法的输入和输出吗?我想我已经弄清楚了,但如果没有更好的详细解释,我不确定。
-
129 就是答案。我想要数组中元素最少的相同值
-
@Dukeling:我想要计算十进制的二进制表示,如下所示 2^7+2^0 => 128+1 => 129 是可能的解决方案,因为我想要最小的权力2. 可能有像 2^6+2^1+2^0= 129 这样的解决方案,但我希望尽可能少。
标签: arrays algorithm math binary decimal