我正试图编写一个算法来查找GCD(最大公约数),但我的函数结果是Array
,我做错了!!求你了,我不想再写一篇文章或一份现成的算法副本。我想知道我做错了什么。
<?php
function pgcd($val1, $val2){
if (!is_numeric($val1) || !is_numeric($val2)){
return null;
}
$i = 1;
$final = array();
while($i <= min($val1, $val2)){
if ($i % $val1 === 0 && $i % $val2 === 0){
$final[] = $i;
}
$i++;
}
return $final;
}
echo pgcd(120,420);
?>
首先:您想查找gcd还是所有公约数?如果是gcd,那么您的代码中有一些错误:
1) 用$final = null;
替换$final = array();
或用return $final[0];
替换return $final;
2) 用CCD_ 7代替CCD_ 6
3) 用CCD_ 9代替CCD_
OR:
1) 用CCD_ 11代替CCD_
2) 用CCD_ 13代替CCD_
Returned$final是一个数组。对于打印阵列,请使用print_r(YOUR_VALUE)。如果u使用"echo",则只能打印字符串值,而不能打印数组;