begin Read(k,n); { начальное и конечное значение интервала } notfound:=True; for i:=k to n do begin flag:=True; j:=2; r:=round(sqrt(i)); while flag and (j<=r) do if i mod j = 0 then flag:=false else Inc(j); if flag then begin { нашли простое число i } s:=0; r:=i; repeat s:=s+r mod 10; r:=r div 10 until r=0; if s mod 2=0 then begin Write(i,' '); notfound:=False end; end end; if notfound then Writeln(0) end.
Program n1; function pr(a:longint ):boolean; var d:longint; begin if a<2 then pr:=false else begin pr:=true; for d:=2 to round(sqrt(a)) do if a mod d=0 then pr:=false; end; end; function isch(var x: longint ): boolean; var s: longint; begin s:=0; isch:=false; while ( x<>0 ) do begin s := s + (x mod 10); x:= x div 10; end; if s mod 2=0 then isch:=true; end; var k,n,i,c: longint; y: boolean; begin readln(k,n); if (k>=2) and (n<=100000) then begin y:=true; for i:=k to n do begin c:=i; if (pr(c)) and (isch(c)) then begin write(i,' '); y:=false; end; end; if y then write('0'); end; end.
n,k,i,j,r,s:longint;
notfound,flag:boolean;
begin
Read(k,n); { начальное и конечное значение интервала }
notfound:=True;
for i:=k to n do begin
flag:=True; j:=2;
r:=round(sqrt(i));
while flag and (j<=r) do
if i mod j = 0 then flag:=false
else Inc(j);
if flag then begin { нашли простое число i }
s:=0; r:=i;
repeat
s:=s+r mod 10;
r:=r div 10
until r=0;
if s mod 2=0 then begin Write(i,' '); notfound:=False end;
end
end;
if notfound then Writeln(0)
end.
Примеры
100 150
101 103 107 109 127 149
40 50
0
2 1000
2 11 13 17 19 31 37 53 59 71 73 79 97 101 103 107 109 127 149 163 167 181 211 233 239 251 257 271 277 293 307 347 349 367 383 389 419 431 433 439 457 479 491 499 503 509 521 523 541 547 563 569 587 613 617 619 631 653 659 673 677 691 701 709 727 743 761 769 787 811 839 853 857 859 877 907 929 941 947 967 983
function pr(a:longint ):boolean;
var d:longint;
begin
if a<2 then pr:=false
else
begin
pr:=true;
for d:=2 to round(sqrt(a)) do
if a mod d=0 then pr:=false;
end;
end;
function isch(var x: longint ): boolean;
var s: longint;
begin
s:=0;
isch:=false;
while ( x<>0 ) do
begin
s := s + (x mod 10);
x:= x div 10;
end;
if s mod 2=0 then isch:=true;
end;
var k,n,i,c: longint;
y: boolean;
begin
readln(k,n);
if (k>=2) and (n<=100000) then
begin
y:=true;
for i:=k to n do
begin
c:=i;
if (pr(c)) and (isch(c)) then
begin
write(i,' ');
y:=false;
end;
end;
if y then write('0');
end;
end.