欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#获取两个数的最大公约数和最小公倍数示例

程序员文章站 2024-02-18 22:35:46
最大公约数:指两个或多个整数共有约束中最大的一个。 最小公倍数:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数,对于两个整数来说,指该两数共有倍数中最...

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

最小公倍数:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数,对于两个整数来说,指该两数共有倍数中最小的一个。

复制代码 代码如下:

/// <summary>
/// 最大公约数
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public static int gcd(int a, int b)
{
int gcd = 1;
int min = a > b ? b : a;
for (int i = min; i >= 1; i--)
{
if (a % i == 0 && b % i == 0)
{
gcd = i;
break;
}
}
return gcd;
}

/// <summary>
/// 最小公倍数
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public static int lcm(int a, int b)
{
int lcm = a * b;
int max = a > b ? a : b;
for (int i = max, len = a * b; i <= len; i++)
{
if (i % a == 0 && i % b == 0)
{
lcm = i;
break;
}
}
return lcm;
}