Pers.narod.ru. Алгоритмы. Наименьшие числа, не имеющие общих делителей |
Даны натуральные числа m, n
.
Найти наименьшие m1, n1
, не имеющие общих делителей и такие, что m1/n1 = m/n
.
uses crt; var m,n,m1,n1,d:word; Function NOD ( X,Y : Word ) : Word ; (* Алгоритм Евклида - ищем наибольший общий делитель *) Begin While ( X <> 0 ) and ( Y <> 0 ) Do If X > Y Then X := X mod Y Else Y := Y mod X ; NOD := X + Y End; begin clrscr; repeat write ('Введите натуральные M,N:'); {$I-} read (m,n); {$I+} if (n<2) or (m<2) then writeln ('Числа должны быть больше 1!') until (m>1) and (n>1); clrscr; WriteLn (' M=',M,' N=',N); d:=Nod(m,n); If d<>1 Then Begin m1:=m div d; n1:=n div d; End Else Begin m1:=m; n1:=n; End; WriteLn ('M1=',M1,' N1=',N1); Reset (input); Readln; end.
гостевая; E-mail |