本文共 758 字,大约阅读时间需要 2 分钟。
计算两个正整数的最小公倍数(LCM),可以通过以下步骤实现:
求最大公约数(GCD):使用欧几里得算法,通过不断取余数计算两个数的最大公约数。具体步骤如下:
a
,较小的为 b
。a = b
, b = a % b
,直到 b
为 0,此时 a
即为 GCD。计算最小公倍数:利用公式 LCM(a, b) = (a × b) / GCD(a, b)
。这是因为乘积除以最大公约数会去掉重复的质因数,从而得到最小可能的公倍数。
实现步骤:
m
和 n
。gcd
函数计算两数的最大公约数。示例验证:
10
和 14
: 5
和 5
: 代码实现:
#includeint gcd(int a, int b) { while (b != 0) { a = b; b = a % b; } return a;}int main() { int m, n; while (scanf("%d %d", &m, &n)) { int gcd_val = gcd(m, n); int lcm = (m * n) / gcd_val; printf("%d\n", lcm); } return 0;}
输出示例:
这个程序能够有效计算两个正整数的最小公倍数,处理所有符合条件的输入。
转载地址:http://qgavz.baihongyu.com/