Даны целые положительные числа A и B найдите их наименьшее общее кратное НОК используя...

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

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


Информатика (206 баллов) | 21 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

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.

 

(1.1k баллов)
0 голосов

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

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.

(3.4k баллов)