Задать вопрос
6 октября, 10:30

Задачи в паскаль: Цикл с предусловием

а) Найти наименьшее общее кратное двух заданных натуральных чисел.

б) Дано натуральное число. Найти его наименьший делитель, отличный от 1.

Помогите, решить!

+5
Ответы (2)
  1. 6 октября, 11:22
    0
    A) For i : = 2 to min (a, b) do

    if (a mod i = 0) and (b mod i = 0) then

    begin

    write ('НОД (', a, ' ', b, ') = ', i) ;

    break;

    end;

    б) For i : = 2 to n do

    if (n mod i = 0) then

    begin

    write ('НД (', n, ') = ', i) ;

    break;

    end;

    Прошу прощения, но мне уже нужно идти спать ... а кто-нибудь другой вряд-ли поможет : (

    Если что, можете написать мне личное письмо, я на него постараюсь завтра ответить.

    С уважением.
  2. 6 октября, 11:52
    0
    1. Для нахождения НОД используем алгоритм Евклида.

    var

    a, b, i: integer;

    begin

    Write ('Введите два натуральных числа ') ; Readln (a, b) ;

    while b 0 do

    begin

    a : = a mod b;

    i : = b; b : = a; a : = i

    end;

    Writeln ('НОД этих чисел равен ', a)

    end.

    Тестовое решение:

    Введите два натуральных числа 3264 1296

    НОД этих чисел равен 48

    2. Тут все намного проще, алгоритм очевиден.

    var

    a, i: integer;

    begin

    Write ('Введите натуральное число ') ; Readln (a) ;

    i : = 2;

    while (a mod i) 0 do i : = i + 1;

    Writeln ('Минимальный делитель равен ', i)

    end.

    Тестовое решение:

    Введите натуральное число 187

    Минимальный делитель равен 11
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Задачи в паскаль: Цикл с предусловием а) Найти наименьшее общее кратное двух заданных натуральных чисел. б) Дано натуральное число. Найти ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы