C/C++

Прoграмирoвaния на c++

При решении задания необходимо использовать не менее 3-ех подпрограмм, а также построить и представить в отчете структурную схему программы.
Пользователь вводит массив целых чисел, размер массива – 10 элементов. Вычислить и вывести на экран минимальное наибольшее общее кратное двух соседних элементов массива.
Для любых вводимых натуральных чисел (без ограничений!):
 #include  
#include
#define m mpz_class
using namespace std; m Euclid(m x, m y)
{ m z; for(;;) { z = x % y; if (z == 0) return y;
else x = y; y = z; } }
m NOK(m x, m y) { return x * y / Euclid(x, y); }
int main() { m A[10], mini, x; cin >> A[0] >> A[1];
mini = NOK(A[0], A[1]); for (int i = 2; i < 10; i++)
{ cin >> A[i]; x = NOK(A[i], A[i-1]); if(x < mini) mini = x; }
cout
Муравьев О.м. З/о 5-1 Пгс
Муравьев О.м. З/о 5-1 Пгс
66 572
Лучший ответ
Ответ от искусственного интеллекта OpenAi
#include <iostream>

// Функция для нахождения НОД двух чисел
int gcd(int a, int b)
{
if (b == 0) {
return a;
}
return gcd(b, a % b);
}

// Функция для нахождения НОК двух чисел
int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}

int main()
{
const int size = 10;
int arr[size];

std::cout << "Введите " << size << " целых чисел: ";
for (int i = 0; i < size; i++) {
std::cin >> arr[i];
}

int min_lcm = lcm(arr[0], arr[1]);
for (int i = 2; i < size; i++) {
min_lcm = lcm(min_lcm, arr[i]);
}

std::cout << "Минимальное наибольшее общее кратное двух соседних элементов массива: "
<< min_lcm << std::endl;

return 0;
}
В этом примере мы использовали три функции:

gcd() - для нахождения наибольшего общего делителя двух чисел.
lcm() - для нахождения наименьшего общего кратного двух чисел с помощью формулы НОК(a, b) = (a * b) / НОД(a, b).
main() - основная функция, где мы считываем массив, находим минимальное наибольшее общее кратное двух соседних элементов массива с помощью функции lcm(), и выводим его на экран.
Структурная схема программы может выглядеть так:
+---------------------------+
| Ввод массива из 10 чисел |
+---------------------------+
|
v
+---------------------------+
| Нахождение НОК двух чисел |
+---------------------------+
|
v
+--------------------------------+
| Нахождение НОК всех элементов |
+--------------------------------+
|
v
+--------------------------+
| Вывод результата на экран |
+--------------------------+