Задать вопрос
27 сентября, 15:34

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

+1
Ответы (2)
  1. 27 сентября, 17:02
    0
    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.
  2. 27 сентября, 18:41
    0
    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
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Написать программу на паскале. Дано n целых чисел. Найти среди них пару чисел, для которых наименьшее общее кратное имеет наименьшее ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Помогите написать программу в паскале! Написать программу в паскале: В одномерном массиве из 10 целых чисел вычислить сумму четных чисел ...
Ответы (1)
Помогите написать программу в Python. 1) Дан массив, состоящий из целых чисел. Нумерация элементов начинается с 0. Напишите программу, которая выведет элементы массива, номера которых четны (0, 2, 4 ...). 2) Дан массив, состоящий из целых чисел.
Ответы (1)
Вычислить произведение четырех натур. чисел, используя только операцию сложения. (Язык пр:pascal) 1) Написать программу (обычную) 2) Написать программу с использованием процедуры 3) Написать программу с исп. функции 4) Написать программу с исп.
Ответы (1)
Помогите написать программу на паскале абс цикл с постусловием Дано целое число N (> 1). Вывести наименьшее из целых чисел K, для которых сумма 1 + 2 + ... + K будет больше или равна N, и саму эту сумму.
Ответы (1)
1. Написать программу, вычисляющую сумму отрицательных чисел, кратных 5, среди пяти, вводимых с клавиатуры. 2. Написать программу, вычисляющую произведение чисел, оканчивающихся цифрами 2 и 4, среди пяти, вводимых с клавиатуры. 3.
Ответы (1)