Помогите пожалуйста Даны две сцепленные шестеренки. У одной шестеренки N зубцов, у другой – K. Требуется найти, какое минимальное число поворотов на один зубчик требуется сделать, чтобы шестеренки вернулись в исходное состояние...
Помогите пожалуйста
Даны две сцепленные шестеренки. У одной шестеренки N зубцов, у другой – K. Требуется найти, какое минимальное число поворотов на один зубчик требуется сделать, чтобы шестеренки вернулись в исходное состояние.
Входные данные
В единственной строке --- два натуральных числа N и K, не превосходящих 10 миллионов.
Выходные данные
Выведите искомое количество зубчиков. Гарантируется, что оно не более миллиарда.
Ответ(ы) на вопрос:
Гость
var
N,K,R: integer;
x,s: integer;
begin
read(N,K);
R := N;
x := 2; s := 4;
while s <= K do
begin
while K mod x = 0 do
begin
if N mod x = 0 then
N := N div x
else
R := R * x;
K := K div x;
end;
s := s + 2*x + 1;
x := x + 1;
end;
if N mod K <> 0 then
R := R * K;
writeln(R)
end.
Не нашли ответ?
Похожие вопросы