Izlazni kod nije 0
Evo primer
var i,j,l,n,m,pom,pomm:longint;
tt,t1,tpom:boolean;
br:integer;
used:array[1..4]of boolean;
t:array[1..30000]of boolean;
rez:array[1..4]of longint;
function p(x:integer):boolean;
begin
if (x=2) or (x=3) then p:=true else if x=4 then p:=false else
begin
tt:=true;
pomm:=1;
l:=0;
while tt do
begin
inc(pomm);
if (x mod pomm)=0 then begin inc(l); tt:=false; end;
if pomm>trunc(sqrt(x)) then tt:=false;
end;
if l>0 then p:=false else p:=true;
end;
end;
procedure stavi (w:longint);
var moze:boolean;
begin
if w>4 then
begin
if (br=0) and (w>60) then
begin
writeln(0);
inc(br) ;
end;
if (br=0) and (w<60) then
for i:=1 to 4 do writeln(rez[i]);
end
else if br=0 then
begin
t1:=false;
moze:=true;
for j:=n to m do
begin
moze:=true;
for i:=1 to w-1 do if j=rez[i] then moze:=false;
if w=1 then
begin rez[1]:=j; used[j]:=true;t1:=true ;stavi(2); end
else if moze then
begin
if p(j+rez[w-1])=false then
begin
rez[w]:=j;
used[j]:=true;
t1:=true;
stavi(w+1);
end;
end;
end;
if (t1=false) and (br=0) then
begin
if j<m then t1:=true;
end;
if (t1=false) and (w<5)and (br=0) then
begin
w:=65; tpom:=false; stavi(w);
end;
end;
end;
begin
readln(n,m);
br:=0;
for i:=n to m do t[i]:=false;
tpom:=true;
if m-n>=5 then
begin
for i:=n to m do
begin
if ((i mod 2)=0) and ((i mod 3)<>0) then
begin writeln(i); t[i]:=true; end;
end;
for i:=n to m do
begin
if ((i mod 2)=0) and ((i mod 3)=0) then
begin writeln(i); t[i]:=true; end;
end;
for i:=n to m do
begin
if ((i mod 3)=0) and (t[i]=false) then
begin writeln(i); t[i]:=true; end;
end;
for i:=n to m do
begin
if t[i]=false then writeln(i);
end;
end else
if m-n=1 then
begin
if p(m+n)=true then writeln(0) else begin writeln(n); writeln(m); end;
end else
if m-n=2 then
begin
if n mod 3=0 then
begin
for i:=n to m do if (i mod 3)=0 then writeln(i);
for i:=n to m do if (i mod 3)=2 then writeln(i);
for i:=n to m do if (i mod 3)=1 then writeln(i);
end else if m=3 then writeln(0) else
if n mod 3 =1 then
begin
for i:=n to m do if (i mod 3)=0 then writeln(i);
for i:=n to m do if (i mod 3)=1 then writeln(i);
for i:=n to m do if (i mod 3)=2 then writeln(i);
end else
if n mod 3 =2 then
begin
if (p(n+n+1)=false) and (p(n+1+n+2)=false) then begin writeln(n); writeln(n+1); writeln(n+2); end else
if (p(n+n+2)=false) and (p(n+2+n+1)=false) then begin writeln(n); writeln(n+2); writeln(n+1); end else
if (p(n+1+n)=false) and (p(n+n+2)=false) then begin writeln(n+1); writeln(n); writeln(n+2); end else
if (p(n+1+n+2)=false) and (p(n+2+n)=false) then begin writeln(n+1); writeln(n+2); writeln(n); end else
if (p(n+2+n)=false) and (p(n+n+1)=false) then begin writeln(n+2); writeln(n); writeln(n+1); end else
if (p(n+2+n+1)=false) and (p(n+1+n)=false) then begin writeln(n+2); writeln(n+1); writeln(n); end else
writeln(0);
end;
end else if m-n=4 then
begin
for i:=n to m do if (i mod 5)=0 then writeln(i);
for i:=n to m do if (i mod 5)=2 then writeln(i);
for i:=n to m do if (i mod 5)=4 then writeln(i);
for i:=n to m do if (i mod 5)=1 then writeln(i);
for i:=n to m do if (i mod 5)=3 then writeln(i);
end else if m-n=3 then
begin
for i:=n to m do used[i]:=false;
stavi(1);
end;
end.
Evo primer
var i,j,l,n,m,pom,pomm:longint;
tt,t1,tpom:boolean;
br:integer;
used:array[1..4]of boolean;
t:array[1..30000]of boolean;
rez:array[1..4]of longint;
function p(x:integer):boolean;
begin
if (x=2) or (x=3) then p:=true else if x=4 then p:=false else
begin
tt:=true;
pomm:=1;
l:=0;
while tt do
begin
inc(pomm);
if (x mod pomm)=0 then begin inc(l); tt:=false; end;
if pomm>trunc(sqrt(x)) then tt:=false;
end;
if l>0 then p:=false else p:=true;
end;
end;
procedure stavi (w:longint);
var moze:boolean;
begin
if w>4 then
begin
if (br=0) and (w>60) then
begin
writeln(0);
inc(br) ;
end;
if (br=0) and (w<60) then
for i:=1 to 4 do writeln(rez[i]);
end
else if br=0 then
begin
t1:=false;
moze:=true;
for j:=n to m do
begin
moze:=true;
for i:=1 to w-1 do if j=rez[i] then moze:=false;
if w=1 then
begin rez[1]:=j; used[j]:=true;t1:=true ;stavi(2); end
else if moze then
begin
if p(j+rez[w-1])=false then
begin
rez[w]:=j;
used[j]:=true;
t1:=true;
stavi(w+1);
end;
end;
end;
if (t1=false) and (br=0) then
begin
if j<m then t1:=true;
end;
if (t1=false) and (w<5)and (br=0) then
begin
w:=65; tpom:=false; stavi(w);
end;
end;
end;
begin
readln(n,m);
br:=0;
for i:=n to m do t[i]:=false;
tpom:=true;
if m-n>=5 then
begin
for i:=n to m do
begin
if ((i mod 2)=0) and ((i mod 3)<>0) then
begin writeln(i); t[i]:=true; end;
end;
for i:=n to m do
begin
if ((i mod 2)=0) and ((i mod 3)=0) then
begin writeln(i); t[i]:=true; end;
end;
for i:=n to m do
begin
if ((i mod 3)=0) and (t[i]=false) then
begin writeln(i); t[i]:=true; end;
end;
for i:=n to m do
begin
if t[i]=false then writeln(i);
end;
end else
if m-n=1 then
begin
if p(m+n)=true then writeln(0) else begin writeln(n); writeln(m); end;
end else
if m-n=2 then
begin
if n mod 3=0 then
begin
for i:=n to m do if (i mod 3)=0 then writeln(i);
for i:=n to m do if (i mod 3)=2 then writeln(i);
for i:=n to m do if (i mod 3)=1 then writeln(i);
end else if m=3 then writeln(0) else
if n mod 3 =1 then
begin
for i:=n to m do if (i mod 3)=0 then writeln(i);
for i:=n to m do if (i mod 3)=1 then writeln(i);
for i:=n to m do if (i mod 3)=2 then writeln(i);
end else
if n mod 3 =2 then
begin
if (p(n+n+1)=false) and (p(n+1+n+2)=false) then begin writeln(n); writeln(n+1); writeln(n+2); end else
if (p(n+n+2)=false) and (p(n+2+n+1)=false) then begin writeln(n); writeln(n+2); writeln(n+1); end else
if (p(n+1+n)=false) and (p(n+n+2)=false) then begin writeln(n+1); writeln(n); writeln(n+2); end else
if (p(n+1+n+2)=false) and (p(n+2+n)=false) then begin writeln(n+1); writeln(n+2); writeln(n); end else
if (p(n+2+n)=false) and (p(n+n+1)=false) then begin writeln(n+2); writeln(n); writeln(n+1); end else
if (p(n+2+n+1)=false) and (p(n+1+n)=false) then begin writeln(n+2); writeln(n+1); writeln(n); end else
writeln(0);
end;
end else if m-n=4 then
begin
for i:=n to m do if (i mod 5)=0 then writeln(i);
for i:=n to m do if (i mod 5)=2 then writeln(i);
for i:=n to m do if (i mod 5)=4 then writeln(i);
for i:=n to m do if (i mod 5)=1 then writeln(i);
for i:=n to m do if (i mod 5)=3 then writeln(i);
end else if m-n=3 then
begin
for i:=n to m do used[i]:=false;
stavi(1);
end;
end.