Требуется найти НОК двух чисел.
Входные данные
Даны натуральные числа A и B(A,B<1018).
Выходные данные
В единственной строке выведите НОК двух чисел. Гарантируется, что ответ не превышает 1018 .
Пример
Вход Выход
4 2 4
Вход Выход
1 3 3
Вход Выход
12 18 36
/** libraries */
#include <iostream>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <algorithm>
/** libraries */
using namespace std;
/** defines */
#define ll long long
#define ld long double
#define yes cout << "YES" << "\n"
#define no cout << "NO" << "\n"
/** defines */
void swap(ll *a, ll *b){
ll temp = *a;
*a = *b;
*b = temp;
}
ll nod(ll a, ll b){
if (a < b) {
swap(a, b);
}
if (b) {
return nod(b, a % b);
} else {
return a;
}
}
ll nok(ll a, ll b){
return a/nod(a,b)*b;
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
ll a,b;
cin >> a >> b;
cout << nok(a,b);
}