求最大公约数的三种方法解析

分类: 英国365bet娱乐 时间: 2026-01-25 08:58:07 作者: admin 阅读: 327
求最大公约数的三种方法解析

求最大公约数的三种方法解析

指两个或多个整数共有约数中最大的一个。

最小公倍数:它与最大公约数的乘机为所求数之积。

比如求 x,y的最大公约数和最小公倍数

记住这个公式: x * y=最小公倍数 * 最大公约数

1.辗转相除法

int gcd(int a, int b)

{

if (a % b == 0)

return b;

else

return gcd(b, a % b);

}

int gcd(int a, int b)

{

int temp;

while (a % b)

{

temp = b;

b = a % b;

a = temp;

}

return b;

}

2.辗转相减法

int gcd(int a, int b)

{

while (a != b) //若a = b,则a(或b)即为两数的最大公约数

{

if (a > b)

a = a - b;

else

b = b - a;

}

return a;

}

3.穷举法

int gcd(int a, int b)

{

int tmp;

tmp = (a > b) ? b : a;

while (tmp > 0)

{

if (a % tmp == 0 && b % tmp == 0)//只要找到一个能同时被a,b所整除的数,则中止循环

break;

--tmp;

}

return tmp;

}

int lcm(int u, int v) //求最小公倍数

{

int tmp = gcd(u, v);

return u * v / tmp;

}

相关文章

国际足联坚守阵容限制:世界杯球队名单仍维持26人,背后的战术考量与球员心理
微页面中添加视频操作流程
炫舞对戒价格表 QQ炫舞对戒价格一览