__gcd的时间复杂度是多少?

时间:2019-06-11 09:44:51

标签: c++ std

__ gcd(m,n)函数的时间复杂度是多少?另外,它是否使用欧几里得方法来计算gcd?

例如代码

#include <iostream> 
#include <algorithm> 

using namespace std; 

int main() { 
    cout << "gcd(10, 25) : " << __gcd(6, 20) << endl; 
} 

2 个答案:

答案 0 :(得分:1)

是的,它使用欧几里得方法来计算两个值的gcd。它的复杂度是?(???2?)算法,其中n是 a b 的上限。

详细信息:https://www.quora.com/What-is-the-time-complexity-of-Euclids-GCD-algorithm

答案 1 :(得分:-3)

是的,它使用的是欧洲人(Implementation of the in-built __gcd method in C++

时间复杂度为O(n)(Time complexity of Euclid's Algorithm