我如何 return 一个整数数组,其总和等于 php 中的给定数字?

How do I return an integer array the sum of which equals to a given number in php?

输入: 1-1564-79 范围内的任意数字(1, 2, 4, 8, 64) 任意组合的总和

输出: 此列表中的整数数组:(1, 2, 4, 8, 64) 其中的总和等于输入的数字。

例如

由于您没有在问题中包含您的代码,因此没有人可以帮助您处理您的代码。但是这里有一个通用的方法,没有任何代码可以解决这个问题。

从您输入的数字和一个空数组开始,以保​​存求和元素。按降序遍历您的加数数组,将每个加数附加到您的总和数组并从输入数字中减去它,直到输入数字达到零。

提供了解决方案:

   $in = 72;
   $out = array();
   $a = array_reverse(str_split((string)decbin($in)));
    foreach($a as $k => $v){
       if ($v != "0") array_push($out, pow(2,$k));
    }