21,893
社区成员




$arr_begin=array("4","12","27","21","33","10","18","04");
$str = join("+",$arr_begin);
eval("echo $str;"); //输出129
//递归
$arr_begin=array("4","12","27","21","33","10","18","04");
sum($arr_begin,count($arr_begin));
function sum($arr_begin,$num){
if($num==0)return;
$j=-1;
foreach ($arr_begin as $v)
{
$j++;
if($j!=0){
$a+=$arr_begin[$j];
echo $a;
echo "<br/>";
}else{
$a=$arr_begin[$j];
}
}
echo "<hr/>";
unset($arr_begin[0]);
$arr_begin=array_values($arr_begin);
sum($arr_begin,count($arr_begin));
}
$arr_begin=array("1","3","5","7");
$sum = array_sum($arr_begin);
$res[$sum] = 1;
self_func($arr_begin, $sum);
print_r(array_keys($res));
function self_func($arr, $sum)
{
if(is_array($arr) && count($arr) >= 3)
{
foreach($arr AS $k => $v)
{
$t = $sum-$v;
$GLOBALS['res'][$t] = 1;
unset($arr[$k]);
self_func($arr, $t);
$arr[$k] = $v;
}
}
}