用户输入两个数字,然后通过程序计算出这两个数字的最小公倍数:
两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数(Least Common Multiple,简写为 lcm)。我们这一个实例只讨论两个整数的最小公倍数。
对于两个数,它们的最小公倍数等于两数之积除以最大公约数。
我们写程序来实现一下:
#include <iostream>
using namespace std;
//写一个函数,返回最大公约数
int get_gcd(int n1, int n2) {
// 如果 n2 大于 n1 交换两个变量
int temp = n1;
if (temp > n2)
temp = n2;
int gcd ;
for (int i = temp; i >= 1; i--) {
cout << "当前值:" << i << endl;
if (n1 % i == 0 && n2 % i == 0) {
gcd = i;
break;
}
}
return gcd;
}
int main() {
int n1, n2;
cout << "输入两个整数: ";
cin >> n1 >> n2;
int gcd = get_gcd(n1, n2);
//那么最小公倍则为:两个数的积
int lcm = n1*n2/gcd;
cout << "最小公倍数为: " << lcm;
return 0;
}
还使用上面的数字进行计算:
可以看出来,15 6的最小公倍数为30。
想一想,如果有多个数的话,应该怎么计算最小公倍数。