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
function Pow(p: real; n: integer): real; // возвращает значение p^n begin Pow := exp(n * ln(p)) end;
function Fact(n: integer): real; // возвращает значение n! var p: real; i: integer; begin p := 1; for i := 1 to n do p := p * i; Fact := p end;
var i: integer; a, ai: real;
begin a := 0; ai := 2 * eps; i := 0; while ai > eps do begin i := i + 1; ai := Pow(2 / i, i) * Fact(i); a := a + ai end; writeln('Сумма первых ',i, ' членов ряда с точностью ', eps:0:4, ' равна ', a:0:4) end.
Тестовое решение:
Сумма первых 32 членов ряда с точностью 0.0010 равна 12.9467
// Нахождение НОД
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