尝试使用php函数返回数组查找gcd


trying to find the the gcd using php function return array?

我正试图编写一个算法来查找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",则只能打印字符串值,而不能打印数组;