Напишите программу вычисления наименьшего общего кратного следующих четырёх чисел: 36 54 18 и 15. используйте процедуру вычисления наибольшего общего делителя двух чисел. информатика 9 класс
// НОД(a,b)*НОК(a,b)=a*b procedure nod(x,y: integer; var n: integer); begin repeat if x>y then x:=x mod y else y:=y mod x; until (x=0)or(y=0); n:=x+y; end; var a,b,c,d,e,n: integer; begin readln(a,b,c,d); nod(a,b,n); e:=a*b div n; nod(c,e,n); e:=c*e div n; nod(d,e,n); Writeln('НОК = ',d*e div n); end.
procedure nod(x,y: integer; var n: integer);
begin
repeat
if x>y then x:=x mod y
else y:=y mod x;
until (x=0)or(y=0);
n:=x+y;
end;
var a,b,c,d,e,n: integer;
begin
readln(a,b,c,d);
nod(a,b,n);
e:=a*b div n;
nod(c,e,n);
e:=c*e div n;
nod(d,e,n);
Writeln('НОК = ',d*e div n);
end.
Пример:
36 54 18 15
НОК = 540
procedure nod ( a,b: integer; var h: integer);
var c: integer;
begin
repeat
if a > b then
a := a mod b
else
b := b mod a;
until (a = 0) or (b = 0); h := a + b;
end;begin
var (a,b):=readinteger2('a,b->'); var h:integer;
nod(a,b,h);
Writeln('НОК',a*b/h);
end.