// PascalABC.NET 3.0, сборка 1164 от 11.02.2016 function gcd(a,b:integer):integer; // Нахождение НОД var i: longint; begin while b <> 0 do begin a := a mod b; i := b; b := a; a := i end; Result:=a end;
begin var a:=ReadInteger('a='); var b:=ReadInteger('b='); var nod:=gcd(a,b); if nod>1 then WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}', a,b,a div nod,b div nod) else WritelnFormat('Дробь {0}/{1} несократима',a,b) end.
Program matr; uses crt; const m=(число); n=(число); var a:array[1..m,1..n] of integer; i, j:integer; max:real; k:boolean;
function prost(x:integer):boolean; begin prost:=false; if x>0 then if (x=1) or (x=2) then prost:=true else for i:=2 to x-1 do if mod(x, i) =0 then prost:=true; end;
begin clr scr;
for i:=1 to m do begin for j:=1 to n do begin write(' a[i,j] = '); read(a[i, j]) end; writeln end;
max:=abs a[1,1]; k:=false; for i:=1 to m do for j:=1 to n do begin if abs(a[i, j]) > abs(max) then max:= a[i, j]; if prost(a[i, j]) then k:=true end; writeln('Максимальный по модулю элемент равен ', max); if k then wrteln('Матрица содержит хотя бы один простой элемент') else writeln('Матрица не содержит простых элементов'); readln end.
function gcd(a,b:integer):integer;
// Нахождение НОД
var
i: longint;
begin
while b <> 0 do begin
a := a mod b;
i := b; b := a; a := i
end;
Result:=a
end;
begin
var a:=ReadInteger('a=');
var b:=ReadInteger('b=');
var nod:=gcd(a,b);
if nod>1 then
WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}',
a,b,a div nod,b div nod)
else WritelnFormat('Дробь {0}/{1} несократима',a,b)
end.
Тестовое решение:
a= 23541
b= 335160
Дробь сократима: 23541/335160=59/840
uses crt;
const m=(число); n=(число);
var
a:array[1..m,1..n] of integer;
i, j:integer; max:real; k:boolean;
function prost(x:integer):boolean;
begin
prost:=false;
if x>0 then
if (x=1) or (x=2) then prost:=true else
for i:=2 to x-1 do
if mod(x, i) =0 then prost:=true;
end;
begin clr scr;
for i:=1 to m do begin
for j:=1 to n do begin
write(' a[i,j] = '); read(a[i, j]) end;
writeln
end;
max:=abs a[1,1];
k:=false;
for i:=1 to m do
for j:=1 to n do begin
if abs(a[i, j]) > abs(max) then max:= a[i, j];
if prost(a[i, j]) then k:=true
end;
writeln('Максимальный по модулю элемент равен ', max);
if k then wrteln('Матрица содержит хотя бы один простой элемент') else writeln('Матрица не содержит простых элементов');
readln
end.