
Задача на C++ Нужно написать программу наибольший общий делитель и наименьшее общее кратное двух
чисел ( чем проще тем лучше и желательно не из интернета )

Ответы на вопрос

Ответ:
#include <iostream>
using namespace std;
int main()
{
int num1, num2, max, min;
cout << "Введите два числа:" << endl;
cin >> num1 >> num2;
max = (num1 > num2) ? num1 : num2;
min = (num1 < num2) ? num1 : num2;
while (max % min != 0)
{
int temp = max % min;
max = min;
min = temp;
}
cout << "НОД: " << min << endl;
cout << "НОК: " << (num1 * num2) / min << endl;
return 0;
}
Объяснение:



Для решения задачи нахождения наибольшего общего делителя (НОД) и наименьшего общего кратного (НОК) двух чисел в языке C++ можно использовать алгоритм Евклида.
Нахождение наибольшего общего делителя (НОД)
Алгоритм Евклида основан на следующем принципе: НОД(a, b) = НОД(b, a % b), где % обозначает операцию взятия остатка от деления. Этот процесс повторяется до тех пор, пока остаток не станет равным нулю. В этот момент последнее ненулевое число будет являться НОДом исходных чисел.Вот пример программы на C++, которая находит НОД двух чисел:
```cpp
#include
int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); }
int main() { int a, b; std::cout << "Введите два числа: "; std::cin >> a >> b; int result = gcd(a, b); std::cout << "Наибольший общий делитель: " << result << std::endl; return 0; } ```
Нахождение наименьшего общего кратного (НОК)
НОК(a, b) можно вычислить, используя формулу: НОК(a, b) = (a * b) / НОД(a, b). Мы можем использовать функцию НОД, которую мы написали ранее, чтобы вычислить НОК.Вот пример программы на C++, которая находит НОК двух чисел:
```cpp
#include
int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); }
int lcm(int a, int b) { int gcdResult = gcd(a, b); int lcmResult = (a * b) / gcdResult; return lcmResult; }
int main() { int a, b; std::cout << "Введите два числа: "; std::cin >> a >> b; int result = lcm(a, b); std::cout << "Наименьшее общее кратное: " << result << std::endl; return 0; } ```
Примечание: В обоих примерах предполагается, что пользователь вводит целочисленные значения для a и b.
Источники: - - C++, 170, 254, 170. - - Microsoft Visual Studio, C++.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







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