gpt4 book ai didi

php - 试图使用 php 函数返回数组查找 gcd?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:56:48 25 4
gpt4 key购买 nike

我正在尝试编写一个算法来查找 GCD(最大公约数),但我的函数的结果是 Array 我做错了什么!!求求你了,我不想要另一个 aproche 或一个现成的算法副本,我想知道我做错了什么

<?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 = array(); 替换为 $final = null;,或者将 return $final; 替换为 return $最终[0];;
2) 将 if ($i % $val1 === 0 && $i % $val2 === 0) 替换为 if ($val1 % $i === 0 && $val2 % $i === 0);
3) 将 $final[] = $i; 替换为 $final = $i;
或者:
1) 将 if ($i % $val1 === 0 && $i % $val2 === 0) 替换为 if ($val1 % $i === 0 && $val2 % $i === 0);
2) 将 return $final; 替换为 return max($final);;

关于php - 试图使用 php 函数返回数组查找 gcd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34044957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com