Нахождение НОД и НОК.


Задача:

  Нахождение НОД и НОК двух чисел по алгоритму Евклида.

Описание:

  Алгоритм Евклида:

a = b1x1 + r1
b1 = r1x2 + r2
b2 = r2x3 + r3
...
bn-1 = rn-2xn-1 + rn-1
bn = rn-1xn + 0

rn-1 - НОД(a,b1)

Код:


program nodnok;
var a,b:longint;

function NOD(x,y:longint):longint;
 begin
  if x<>0 then NOD:= NOD(y mod x,x) else NOD:= y;
 end;

function NOK(x,y:longint):longint;
 begin
  NOK:= (x div NOD(x,y)) * y;
 end;

Begin
 Write('Введите a и b: ');   
 Readln(a,b);
 Writeln('НОД ',a,' и ',b,' = ', NOD(a,b));
 Writeln('НОК ',a,' и ',b,' = ', NOK(a,b));
Readln;
End.




Hosted by uCoz