В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
kkkddd90
kkkddd90
18.12.2020 05:32 •  Информатика

Требуется найти НОК двух чисел.
Входные данные
Даны натуральные числа A и B(A,B<1018).
Выходные данные
В единственной строке выведите НОК двух чисел. Гарантируется, что ответ не превышает 1018 .
Пример

Вход Выход
4 2 4
Вход Выход
1 3 3
Вход Выход
12 18 36

Показать ответ
Ответ:
horsa
horsa
15.10.2020 00:06

/** 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);

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота