约分方法与最大公约数

本文最后更新于:2023年9月26日 下午

约分

用两个数分别除以这两个数的最大公约数

求最大公约数

辗转相除法

1
2
3
4
5
6
7
8
9
10
11
int gcd(int a, int b) 
{
int r;
while (b != 0)
{
r = a % b;
a = b;
b = r;
}
return a;
}

更相减损术

1
2
3
4
5
6
7
8
9
int gcd(int a,int b)
{
if(a==b)
return a;
if(a>b)
return gcd(a-b,b);
else
return gcd(b-a,a);
}

差别

后者避免大数取模运算,但运算次数更多


约分方法与最大公约数
https://cdro.tech/notes/CS/gcd/
作者
k9Q6CK42
发布于
2023年12月3日
更新于
2023年9月26日
许可协议