Рассмотрим алгоритм нахождения наименьшего общего делителя. Писать будем на С++, но если есть желание перенести в другой язык не проблема 😉
Нам не понадобятся какие-либо лишние библиотеки:
#include <iostream> using namespace std;
Оприделим необходимые переменные:
int a,b,d,min;
Получим числа для обработки:
cout << "Введите числа: \n"; cin >> a >> b;
Узнаем какое из них меньше и занесём его в переменную min:
min = a > b ? b : a;
Нахождение наименьшего общего делителя происходит вот так:
for (d = 2 ;d < min ; d++)
if (((a%d==0) && (b%d==0))) break;
Цикл начинается с двойки потому, что все числа делятся на единицу и не имеет смысла делать на это проверку.
Если и то и другое число делятся без остатка на значение переменной d, то это и есть минимальное общее кратное.
Но не стоит забывать, что если кратное не найдено, то в переменной d остаётся значение меньшей переменной. Выполним проверку результата:
if (d==min){
cout << "Нет общего делителя.\n";
return 0;
}
В противном случае выводим результат:
cout << "Наименьший общий делитель: " << d << endl;
Итого:
#include <iostream>
using namespace std;
int main() {
int a,b,d,min;
cout << "Введите числа: \n";
cin >> a >> b;
min = a > b ? b : a;
for (d=2;d<min;d++)
if (((a%d==0) && (b%d==0))) break;
if (d==min){
cout << "Нет общего делителя.\n";
return 0;
}
cout << "Наименьший общий делитель: " << d << endl;
return 0;
}
Успехов в ваших начинаниях.







