【发布时间】:2011-02-07 07:01:48
【问题描述】:
这里是功能说明
test($argv)
$argv是一个数组,例如$argv=array($from1,$to1,$from2,$to2.....);
数组项必须是偶数。
$argv=array(1,3,4,5) :这将输出如下值:
1_4
1_5
2_4
2_5
3_4
3_5
伪代码就像
while($from1<=$to1){
while($from2<=$to2){
echo $from1."_".$from2."<br/>";
$from2++;
}
$from1++;
}
$argv=array(1,2,3,4,5,6) :这将输出如下值:
1_3_5
1_3_6
1_4_5
1_4_6
2_3_5
2_3_6
2_4_5
2_4_6
伪代码就像
while($from1<=$to1){
while($from2<=$to2){
while($from3<=$to3){
echo $from1."_".$from2."_".$from3."<br/>";
$from3++;
}
$from2++;
}
$from1++;
}
数组 $argv 的数量不是恒定的。 可能会输出 3 或 4 级循环。
我只是听说会使用尾部递归或迭代,但我不知道具体如何编码。
【问题讨论】:
-
你能概括一下这个函数应该做什么吗? AFAIU 它应该输出
$from值和$to值的所有可能组合..? -
@deceze 问题已被编辑以更准确地描述。
-
对不起,这更不清楚。为什么在第一个示例中有
2输出,而输入中没有2?请尝试将逻辑转化为文字,这也会对您有所帮助。 -
@deceze:最后一句话+1。似乎每个 'from','to' 对代表了 'from' 和 'to' (含)之间的一系列值
-
做这个递归比迭代更难......为什么你需要它递归?