1.辗转相除(对于数比较大的时候,会耗时比较高)
2.变成相减,利用x - y,y和x,y有相同的最大公约数
3.2虽然降低了运算的复杂度,但是很明显增加了迭代次数
利用f(x,y) = f(p*x1, y) = f(x1, y)即可,其中P是素数,并且y不能整除P
最简单的直接利用2作为素数P, 可以利用位运算
复杂度 O(log2(max(x,y)))
1.辗转相除(对于数比较大的时候,会耗时比较高)
2.变成相减,利用x - y,y和x,y有相同的最大公约数
3.2虽然降低了运算的复杂度,但是很明显增加了迭代次数
利用f(x,y) = f(p*x1, y) = f(x1, y)即可,其中P是素数,并且y不能整除P
最简单的直接利用2作为素数P, 可以利用位运算
复杂度 O(log2(max(x,y)))