#include <iostream> using namespace std; int gcd(int a,int b) { if (b == 0)return a; else return gcd(b, b%a); } int main() { int m, n, c; cin >> m >> n; c = gcd(m, n); cout << (m / c)*(n / c)*c << endl; return 0; } //最小公倍数 = 两数之积除以最大公约数,这里使用碾转相除法进行最大公约数的求解: //即a与b的 最大公约数可以转化为a、b之间的余数为两者之间最小的数之间的公约数。 //所以对于输入的两个 数进行连续求余,直到余数为0,求余的分母即为结果。 #include<iostream> using namespace std; int gcd(int a, int b) { int r; while(r = a%b) { a = b; b = r; } return b; } int main() { int a, b; while (cin >> a >> b) { cout << a * b / gcd(a, b) << endl; } return 0; }
最小公倍数的两种求解方式
猜你喜欢
转载自www.cnblogs.com/programchen/p/12323600.html
今日推荐
周排行