profile
Опубликовано 6 лет назад по предмету Информатика от Emma1998

Даны целые положительные числа A и B найдите их наименьшее общее кратное НОК используя алгоритм Евклида: НОК(A,B)=НОК(B,A mod B), если B не равен 0; NOK(A;0)=A

  1. Ответ
    Ответ дан glebglebgleb

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

    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.

  2. Ответ
    Ответ дан Yegor55

    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.

     

Самые новые вопросы