наибольший общий делитель — Реализация встроенного метода __gcd в переполнении стека

Использует ли встроенный метод __gcd в библиотеке алгоритма stl алгоритм Евклида при его реализации?

0

Решение

Исходный код, кажется,

  /**
*  This is a helper function for the rotate algorithm specialized on RAIs.
*  It returns the greatest common divisor of two integer values.
*/
template<typename _EuclideanRingElement>
_EuclideanRingElement
__gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
{
while (__n != 0)
{
_EuclideanRingElement __t = __m % __n;
__m = __n;
__n = __t;
}
return __m;
}

Так что да, он использует евклидов алгоритм.

РЕДАКТИРОВАТЬ: Я немного неправильно понял вопрос, это реализация в заголовках для g ++ 4.9.1.

2

Другие решения


По вопросам рекламы [email protected]