__ gcd(m,n)函数的时间复杂度是多少?另外,它是否使用欧几里得方法来计算gcd?
例如代码
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
cout << "gcd(10, 25) : " << __gcd(6, 20) << endl;
}
答案 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)