Найти b из НОК (a,b)=c - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Нуждаюсь в помощи по решению задачки. Никак не могу придумать, как реализовать нахождение b из НОК (a,b)=c, где а и с - входные данные. (Кроме перебора b посредством b:=b+1 в цикле с последующей подстановкой и проверкой), но проблема в том, что при больших числах ответ нужно ждать довольно долго, а максимальное время на выполнение программы - 1с. За помощь заранее спасибо.

Решение задачи: «Найти b из НОК (a,b)=c»

textual
Листинг программы
while c mod (b*d)=0 do b:=b*d;

Объяснение кода листинга программы

В данном коде на языке PascalABC.Net реализуется алгоритм нахождения наименьшего общего кратного (НОК) для трех чисел a, b и c.

  1. Переменная c инициализируется значением НОК(a, b).
  2. Переменная d инициализируется значением c mod b.
  3. Запускается цикл while, который выполняется до тех пор, пока c mod (b*d) равно нулю.
  4. Внутри цикла значение переменной b обновляется как произведение b и d.
  5. После выхода из цикла значение переменной b будет содержать искомый результат - НОК(a, b).

Оцени полезность:

7   голосов , оценка 4.571 из 5
Похожие ответы