//求和为n的连续正数,例如:15 = 7+8 = 4+5+6 = 1+2+3+4+5
function getArrN($n){
$res = [];
if($n<2)
return $res;
//i 个数相加
for($i=2;$i<$n;$i++){
//从第一个开始取数
for($j=1;$j<$n;$j++){
//取i个连续的正数
$q=$j;
$tmp=[];
for($m=1;$m<=$i && $q<$n;$m++){
$tmp[]=$q;
$q++;
}
if(count($tmp)!=$i)
continue;
//i个数之和
if(array_sum($tmp) == $n)
$res[]=$tmp;
}
}
return $res;
}