题意:
给出两个数,求两个数的最小公倍数。
思路:
两个数的最小公倍数等于两者之积除以两者的最大公约数。
而最大公约数,你可以用 KaTeX parse error: Expected group after '_' at position 1: _̲_gcd,也可以自己写一个辗转相除法,亦或者更像减损术,不过那个就有些……
另外,可能有些人没有注意到这两个正整数的范围,直接将其相乘会爆 i n t int int,所以必须开 l o n g l o n g long long longlong。
时间复杂度: O ( 1 ) O(1) O(1)
#include <bits/stdc++.h>
using namespace std;
#define int long long
inline int gcd(int a, int b) {
return b ? gcd(b, a % b) : a ;
}
signed main() {
int a,b;
cin>>a>>b;
cout<<a*b/__gcd(a,b);
return 0;
}