Даны два числа А и В(положительные). Составить алгоритм нахождения: а) наименьшего общего...

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

Даны два числа А и В(положительные). Составить алгоритм нахождения: а) наименьшего общего делителя; б) наименьшего общего кратного.
напишите на паскале пожалуйста


Информатика (86 баллов) | 67 просмотров
Дан 1 ответ
0 голосов

НОД будем находить при помощи Эвклидового алгоритма, а НОК - по формуле: lcm(a;b)=\frac{|a \times b|}{\gcd(a;b)}.

program nod_nok;
var
  a, b, g: integer;
  l: real;
function Gcd(a, b: integer): integer;
var
  t: integer;
begin
  while b <> 0 do
  begin
    t := b;
    b := a mod b;
    a := t;
  end;
  Gcd := a;
end;
function Lcm(a, b, gcd: integer): real;
begin
  Lcm := Abs( a * b ) / gcd;
end;
begin
  write('a = ');
  readln(a);
  write('b = ');
  readln(b);
  g := Gcd(a, b);
  writeln('НОД: ', g);
  l := Lcm(a, b, g);
  writeln('НОК: ', l:1:0);
end.

(7.2k баллов)
0

а смысл 2 раза писать var?

0

Второе var - переменные функции, абсолютно другая степь. Первое - программы, второе - именно функции Gcd().

0

мама, роди меня обратно, почему за 11 лет меня этому не учили, даже на 1 курсе мне не говорили про это, а в сессии это есть. спасибо тебе огромное за помощь. можешь в лс (в идеале в вк), если не сложно, объяснить как решать подобное?