Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, которая выводит все простые числа с чётной суммой цифр в диапазоне от k до n ( 2 ≤ k ≤ n ≤ 100000 входные данные входная строка содержит два натуральных числа, разделённые пробелом, k и n ( 2 ≤ k ≤ n ≤ 100000 ). выходные данные программа должна вывести все простые числа с чётной суммой цифр в диапазоне от k до n в одну строку, разделив их пробелами. если таких чисел нет, нужно вывести число 0. примеры входные данные 100 150 выходные данные 101 103 107 109 127 149 входные данные 40 50 выходные данные 0 pascalabc 1.8
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.