例如为3的输入将返回[1,1,1],[2,1]和[1,2]如何返回给定整数给定正整数的所有数字序列?
我知道很多的组合/排列问题涉及调用一个递归函数本身在循环内,但我无法看到适用于此问题的适当方式。
它我试图抓住一个概念,这里是我迄今为止...
function numberToAddends($number, $arr, $k){
for ($i = 0; $i < $number; $i++) {
$arr[$k] = $i;
numberToAddends($k-$i, $arr, $k + 1);
}
if($k <=0){
print_r($arr);
}
}
对于测试输入,你可以使用像numberToAddends(3,$ ARR,0);
我在想正确的道路吗?任何人都可以提供完整的PHP语法来解决这个问题以及评论代码吗?
它不应该给'[3]'作为解决方案吗? – phimuemue
*评论代码*,一些咖啡,或许是一个很好的甜甜圈? – 2013-01-23 19:53:15
不,原来的号码都是 – user784637