【发布时间】:2020-11-18 01:14:27
【问题描述】:
function noOfPermutations($n, $permutation){
$array = str_split($n);
if(count($array)==1) {
echo $permutation."\n";
return $permutation;
}else{
$permutation++;
noOfPermutations(array_sum($array), $permutation);
}
}
echo "--".noOfPermutations(91,0)."--\n";
我正在尝试查找 $n 中的数字总和变为单个的排列数。 例如91 -> 9+1 = 10 -> 1+0 = 1。这需要 2 轮,所以会返回 2。 如果 $n 以单个数字开头(它正确返回 0)但不止一个排列并且它只返回 null,则该函数可以正常工作。函数中的第一个echo输出正确的值,但函数外的echo返回null。
【问题讨论】:
-
我得到了正确的结果。不知道为什么
-
除非您需要使用递归,否则此类问题可以使用
while()循环轻松解决。 -
我的代码也得到了正确的结果
-
很奇怪,我使用的是在线沙箱,所以与实际服务器相比可能会有一些不同。