Даны n чисел. Определить являются ли они взаимно простыми т.е имеют общий делитель отличный от единицы
Ответы
Ответ дал:
0
var
a, b, i: integer;
bool: boolean;
begin
readln(a, b);
for i := 2 to min(a, b) do
if ((a mod i = 0) and (b mod i = 0)) then
bool := true;
if (bool) then
writeln('No')
else
writeln('yes');
end.
a, b, i: integer;
bool: boolean;
begin
readln(a, b);
for i := 2 to min(a, b) do
if ((a mod i = 0) and (b mod i = 0)) then
bool := true;
if (bool) then
writeln('No')
else
writeln('yes');
end.
Ответ дал:
0
function gcd(a: integer; b: integer): integer;
// Нахождение НОД
var
i, a1, b1: integer;
begin
a1 := a; b1 := b;
while b1 <> 0 do
begin
a1 := a1 mod b1;
i := b1; b1 := a1; a1 := i
end;
result := a1
end;
var
m, n, k: integer;
begin
writeln('Введите пару целых чисел');
readln(m, n);
k := gcd(m, n);
if k = 1 then writeln('Числа взаимно простые')
else writeln('Числа не являются взаимно простыми, НОД=', k)
end.
Тестовое решение:
Введите пару целых чисел
465 532
Числа взаимно простые
Введите пару целых чисел
13440 6930
Числа не являются взаимно простыми, НОД=210
// Нахождение НОД
var
i, a1, b1: integer;
begin
a1 := a; b1 := b;
while b1 <> 0 do
begin
a1 := a1 mod b1;
i := b1; b1 := a1; a1 := i
end;
result := a1
end;
var
m, n, k: integer;
begin
writeln('Введите пару целых чисел');
readln(m, n);
k := gcd(m, n);
if k = 1 then writeln('Числа взаимно простые')
else writeln('Числа не являются взаимно простыми, НОД=', k)
end.
Тестовое решение:
Введите пару целых чисел
465 532
Числа взаимно простые
Введите пару целых чисел
13440 6930
Числа не являются взаимно простыми, НОД=210
Похожие вопросы
2 года назад
7 лет назад
7 лет назад
10 лет назад
10 лет назад