Есть ответ 👍

Написать программу на паскале.дано n целых чисел. найти среди них пару чисел, для которых наименьшее общее кратное имеет наименьшее значение.

242
495
Посмотреть ответы 3

Ответы на вопрос:

sass20
4,8(25 оценок)

Const   m = 50; function nok(a, b: integer): integer; var   c: integer; begin   if a = b then nok : = a   else begin       c : = a * b;       repeat           if a > b then a : = a - b else b : = b - a;           until a = b;       nok : = c div a   end end; var   a: array[1..m] of integer;   i, j, n, p, q, nk, mn: integer; begin   randomize;   write('введите количество элементов в массиве (2..50)- ');   readln(n);   writeln('исходный массив');   for i : = 1 to n do   begin       a[i] : = random(100) + 1;       write(a[i], ' ')   end;   writeln;   p : = a[i];   q : = a[2];   mn : = p * q;   for i : = 1 to n - 1 do       for j : = i + 1 to n do       begin           nk : = nok(a[i], a[j]);           if (mn > nk) then           begin               p : = a[i];               q : = a[j];               mn : = nk           end       end;   writeln('пара: ', p, '-', q, ' нок=', mn); end. тестовое решение: введите количество элементов в массиве (2..50)- 20 исходный массив 19 36 99 86 79 83 73 69 27 14 87 67 49 84 98 79 38 4 60 22 пара: 14-4 нок=28
Rollov35
4,4(91 оценок)

Function nok(a, b: integer): integer; var   c, d, e: integer; begin     c : = a;     d : = b;     while (d > 0) do     begin       c : = c mod d;       e : = c;       c : = d;       d : = e;     end;     result : = (a div c) * b; end; const   n = 4; var   a: array [1..n] of integer;   b: array [1..n*n] of integer;   i, j, min_: integer; begin   writeln('введите n целых чисел, только вот давайте без нулей, детсадовцы знают, что на 0 делить нельзя, плохо это');   min_ : = 2147483647;   for i : = 1 to n do     readln(a[i]);   for i : = 1 to n do     for j : = 1 to n do     begin       if (i = j) then continue;       b[i + n * (j - 1)] : = nok(a[i], a[j]);       min_ : = min(b[i + n * (j - 1)], min_);     end;   write('     ');   for i : = 1 to n do     write(i: 5);   writeln();   for i : = 1 to n do   begin     write(i: 5);     for j : = 1 to n do       write(b[i + n * (j - 1)]: 5);     writeln();   end;   writeln('min: ', min_); end.
inna75
4,7(58 оценок)

вроде я пощетал 80 сек

Объяснение:потому что в 1000 кбайт-8000 кбит и я разделил 8000 на 100 получилось 80.

сразу говорю не знаю правильно или нет.

Популярно: Информатика