Algorithm: 最大公约数 最小公倍数

本文提供了一个简单的C/C++程序示例,用于计算两个整数的最大公约数(GCD)和最小公倍数(LCM)。通过递归算法实现最大公约数的计算,并在此基础上计算最小公倍数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 // Swap
 2 void Swap(int* a, int* b)
 3 {
 4     int tmp = *a;
 5     *a = *b;
 6     *b = tmp;
 7 }
 8 
 9 // GCD: Greatest Common Divisor
10 int GCD(int i, int j)
11 {
12    if(i < 0 || j < 0)
13       return 0;
14 
15    if(i < j)
16       Swap(&i, &j); // Make sure i > j.
17 
18    if(j == 0) return i;
19 
20    return GCD(j, i % j);
21 }
22 
23 // LCM: Lowest Common Multiple
24 int LCM(int i, int j)
25 {
26    if(i < 0 || j < 0)
27       return 0;
28 
29    return (i * j / GCD(i, j));
30 }

 

转载于:https://www.cnblogs.com/nchxmoon/archive/2013/03/21/2973577.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值