Нашел несколько вариантов алгоритма нахождения НОД, реализовал их на С++ и решил сравнить по скорости. Вопреки моему ожиданию, а я поставил на бинарный алгоритм Евклида, победил обычный алгоритм Евклида (разница примерно в 1.3 раза). Его тут и привожу:
size_t NOD(size_t a, size_t b)
{
while (a != 0 && b != 0)
if (a >= b)
a = a % b;
else
b = b % a;
return a + b;
}
No comments:
Post a Comment