Задачи в паскаль: Цикл с предусловием а) Найти наименьшее общее кратное двух заданных натуральных чисел. б) Дано натуральное число. Найти его наименьший делитель, отличный от 1. Помогите , решить!!!
Answers & Comments
QWERTY1234321
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
Answers & Comments
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