📅  最后修改于: 2023-12-03 15:40:14.339000             🧑  作者: Mango
最大公约数算法,也称欧几里得算法或辗转相除法,是求两个正整数最大公约数的经典算法。其基本思想是利用两个数的余数之间的关系,不断地对较小的数取模,直到模为0为止,此时较大的数即为最大公约数。
下面是伪代码实现:
function EuclideanAlgorithm(a, b)
if b > a then swap(a, b)
while b ≠ 0 do
r := a mod b
a := b
b := r
endwhile
return a
end function
Markdown格式如下:
1. function EuclideanAlgorithm(a, b)
2. if b > a then swap(a, b)
3. while b ≠ 0 do
4. r := a mod b
5. a := b
6. b := r
7. endwhile
8. return a
9. end function
最大公约数欧几里得算法的时间复杂度为O(logn),其中n是两个数较大的那个数。
最大公约数欧几里得算法是求两个正整数最大公约数的经典算法,它的基本思想是利用两个数的余数之间的关系,不断地对较小的数取模,直到模为0为止,此时较大的数即为最大公约数。它的时间复杂度为O(logn)。