C++ 实例 - 求两数最小公倍数
用户输入两个数,其这两个数的最小公倍数。
实例
#include <iostream>
using namespace std;
int main()
{
int n1, n2, max;
cout << "输入两个数: ";
cin >> n1 >> n2;
// 获取最大的数
max = (n1 > n2) ? n1 : n2;
do
{
if (max % n1 == 0 && max % n2 == 0)
{
cout << "LCM = " << max;
break;
}
else
++max;
} while (true);
return 0;
}
以上程序执行输出结果为:
输入两个数: 12 18 LCM = 36
实例
#include <iostream>
using namespace std;
int main()
{
int n1, n2, hcf, temp, lcm;
cout << "输入两个数: ";
cin >> n1 >> n2;
hcf = n1;
temp = n2;
while(hcf != temp)
{
if(hcf > temp)
hcf -= temp;
else
temp -= hcf;
}
lcm = (n1 * n2) / hcf;
cout << "LCM = " << lcm;
return 0;
}
以上程序执行输出结果为:
输入两个整数: 78 52 HCF = 156
ADay
hlt***526@163.com
求 gcd 我们可以使用辗转相除法,即 gcd(a,b)=gcd(b,a%b)。
那么程序就是用递归实现:
ADay
hlt***526@163.com