- 最大公约数
int GCD(int x,int y){
int r=x%y;
while(r){
x=y;
y=r;
r=x%y;
}
return y;
}
辗转相除法
将 x 除以 y 的余数值赋值给 r ,如果r 等于0,那么 y 就是 x 和 y 的最大公约数,
如果不等于0,将 y 赋值给 x , r 赋值给 y,
再对 x 和 y 进行相除,直至余数为0时, y 就是两数的最公约数
- 最小公倍数
int GBS(int x,int y){
(这里的GCD是要调用上面求最大公约数的代码的~~)
return x/GCD(x,y)*y;(此处代码只是交换了乘除法位置,不影响结果)
}
两个数的最小公倍数是两个数的乘积除以两个数的最大公约数