我的值N与
不同1 <= N <= 10 ^ 6
说:
N = 5
我想计算总和
其中:
sum = gcd(1,5)+ gcd(2,5)+ gcd(3,5)+ gcd(4,5)+ gcd(5,5)
我通过编写这两个函数来实现这一目标:
function calculateSum($N){
$gcdSum = 0;
for($i = 1; $i <= $N; $i++){
$gcdSum += gcd($N,$i);
}
return $gcdSum;
}
function gcd($a, $b){
if($b == 0) {
return $a;
}
else {
return gcd($b, $a % $b);
}
}
我想知道其他更好更快的方法存在以及如何实现它们。