Впаскаль: цикл с предусловием а) найти наименьшее общее кратное двух заданных натуральных чисел. б) дано натуральное число. найти его наименьший делитель, отличный от 1. , !
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
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; прощения, но мне уже нужно идти спать... а кто-нибудь другой вряд-ли Если что, можете написать мне личное письмо, я на него постараюсь завтра ответить. С уважением.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку