uses crt;
function Proiz(a,b,c:longint):boolean;
begin
if b*c=a then Proiz:=true
else Proiz:=false;
end;
function Kratn(a:longint):boolean;
function Fakt(a:longint):longint;
begin
if a=1 then Fakt:=1
else Fakt:=a*Fakt(a-1);
end;
begin
if Fakt(a) mod 5=0 then Kratn:=true
else Kratn:=false;
end;
function Prost(a:longint):boolean;
var i:longint;
begin
Prost:=true;
for i:=2 to round(sqrt(a)) do
if a mod i=0 then
begin
Prost:=false;
break;
end;
end;
function Nerav(a,b:longint):boolean;
function NOD(a,b:longint):longint;
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
NOD:=a;
end;
begin
if NOD(a,b)<>5 then Nerav:=true
else Nerav:=false;
end;
var s,r,z,i,j,k:longint;
begin
clrscr;
write('Введите число S=');
readln(s);
k:=0;
for r:=2 to s div 2 do
for z:=s div 2 downto 2 do
if Proiz(s,r,z) and Kratn(z) and Prost(r) and Nerav(r,z)then
begin
writeln(r,' ',z);
k:=1;
end;
if k=0 then write('Таких пар нет!');
readln
end.
Результат работы программы