用N计算1到N个数的GCD之和

时间:2016-07-06 18:55:16

标签: php algorithm

我的值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);
    }
}

我想知道其他更好更快的方法存在以及如何实现它们。

0 个答案:

没有答案