我正在研究的数学问题的公式是:A[i] *(-2)i的幂
其中i=0,1,2,3,...
A是值为0或1的数组
输入数组:[0,1,1,0,0,1,0,1,1,1,0,1,0,1,1]
输出为:5730
代码
$totalA = 0;
foreach ($A as $i => $a) {
$totalA += $a * pow(-2, $i);
}
这是正确的。现在我在寻找它的对立面,比如:
输入为:5730
输出将为:[0,1,1,0,0,1,0,1,1,1,0,1,0,1,1]
我并不是要确切的代码,而是要从我应该开始的地方寻找一些逻辑。我试图使用log()方法,但没有返回所需的输出。
2条答案
按热度按时间bpsygsoo1#
您并不是在寻找精确的代码,但我发现这个问题太有趣了。
首先,我寻找
$i
,它使我位于$target
之上或略高于$target
。当找到时,我向下走,并决定每一位是否应该在结果中。von4xj4u2#
简单答案是PHP