Вопрос задан 23.11.2023 в 02:33. Предмет Информатика. Спрашивает Стручков Арсен.

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

чисел ( чем проще тем лучше и желательно не из интернета )
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Михалко Мария.

Ответ:

#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;

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения задачи нахождения наибольшего общего делителя (НОД) и наименьшего общего кратного (НОК) двух чисел в языке 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++.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос