Даны целые положительные числа a и b найдите их наименьшее общее кратное нок используя алгоритм евклида: нок(a,b)=нок(b,a mod b), если b не равен 0; nok(a; 0)=a

irynafurmanets irynafurmanets    3   28.03.2019 12:00    0

Ответы
tixon1501 tixon1501  27.05.2020 01:24

сори в начале не понял, что нужен евклид, я исправился: 

uses crt;
function NOD(m,n:integer):integer;
begin
If m<>0 then NOD:=NOD(n mod m,m) else NOD:=n;
end;
function NOK(m,n:integer):integer;
begin
NOK:=(m div NOD (m,n))*n;
end;
var x,y: integer;
begin
clrscr;
writeln('Vvedite x y :');
readln(x,y);
writeln (NOK(x,y));
readln;
end.

ПОКАЗАТЬ ОТВЕТЫ
ebanat3 ebanat3  27.05.2020 01:24

var
    a, b, c, a1, b1:integer;
begin

    Writeln('Введите A и B:');
    Readln(a, b);

    a1 := a;
    b1 := b;

    while b1 <> 0 do
    begin
        c := a1 mod b1;
        a1 := b1;
        b1 := c;
    end;

    if b <> 0 then
        Writeln('НОК(', a,',', b,') = ', a div a1 * b)
    else
        Writeln('НОК(', a,',', b,') = ', a);


end.

 

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика