// 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.
Const n=5; var a:array[1..n,1..n] of integer; b:array[1..n] of integer; i,j,max,min,s:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(21); write(a[i,j]:4); end; writeln; end; max:=a[1,n]; for i:=2 to n do if a[i,n-i+1]>max then max:=a[i,n-i+1]; writeln('1. max = ',max); for i:=1 to n do begin min:=a[i,1]; for j:=2 to n do if a[i,j]<min then min:=a[i,j]; b[i]:=min; end; s:=0; writeln('2. Массив B'); for i:=1 to n do begin write(b[i]:4); s:=s+b[i]; end; writeln; writeln('3. среднее = ',s/n); for i:=1 to n do if b[i]>s/n then write(b[i]:4); writeln; 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
var
a:array[1..n,1..n] of integer;
b:array[1..n] of integer;
i,j,max,min,s:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(21);
write(a[i,j]:4);
end;
writeln;
end;
max:=a[1,n];
for i:=2 to n do
if a[i,n-i+1]>max then max:=a[i,n-i+1];
writeln('1. max = ',max);
for i:=1 to n do
begin
min:=a[i,1];
for j:=2 to n do
if a[i,j]<min then min:=a[i,j];
b[i]:=min;
end;
s:=0;
writeln('2. Массив B');
for i:=1 to n do
begin
write(b[i]:4);
s:=s+b[i];
end;
writeln;
writeln('3. среднее = ',s/n);
for i:=1 to n do
if b[i]>s/n then write(b[i]:4);
writeln;
end.
Пример:
Исходный массив:
10 19 15 17 10
12 12 10 1 5
17 8 8 14 15
12 11 8 0 13
2 2 4 10 6
1. max = 11
2. Массив B
10 1 8 0 2
3. среднее = 4.2
10 8