Даны натуральный числа x и y. получить все делители числа x, взаимно простые с y. Паскаль

0 голосов
37 просмотров

Даны натуральный числа x и y. получить все делители числа x, взаимно простые с y. Паскаль


Информатика (41 баллов) | 37 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

//Pascal ABC.NET 3.1 сборка 1219

Var
 x,y,i:integer;

 function nod(x,y:integer):integer;
 begin
  while x*y<>0 do
   if x>y then x:=x mod y else y:=y mod x;
  nod:=x+y;
 end;

begin
 readln(x,y);
 for i:=1 to x div 2 do
 if (x mod i=0) and (nod(i,y)=1) then writeln(i);
end.

Пример ввода:
15
27
Пример вывода:
1
5

(38.6k баллов)