每日一题3.12.2
求两个正整数的最小公倍数
**解题思路:**最小公倍数为两数的乘积除以最大公约数,所以先求最大公约数,求最大公约数的方法有好几种,这里用辗转相除法
代码实现:
#include<iostream>
using namespace std;
int main()
{
int m, n;
cin >> m >> n;
while (m > 0 && n > 0)
{
int z = m*n;
if (m>n)//将m记为两数间的较小值
{
int t = m;
m = n;
n = t;
}
int r = n%m;
while (m != 0)
{
r = n%m;
n = m;
m = r;
}
cout << z / n;
}
return 0;
}
参考答案: