Хелп! ** интервале (1000 - 9999) найти все простые числа, каждое из которых обладает тем...

0 голосов
40 просмотров

Хелп!
На интервале (1000 - 9999) найти все простые числа, каждое из которых обладает тем свойством, что сумма первой и второй цифр в записи этого числа равна сумме третей и четвертой.

Вот моя программа, которая почему-то ни одного числа не нашла :\ В чем моя ошибка?

var i,j,k,a,c,a2,c2,a3,a4: integer;
begin
for i:= 1000 to 9999 do
begin
if i mod 2 <> 0 then begin

for j:= 1 to (i div 2) do
if i mod j=0 then
inc (k);

if k=2 then
begin
a:= i mod 10;
c:= i div 10;
a2:= c mod 10;
c2:= c div 10;
a3:= c2 mod 10;
a4:= c2 div 10;
if (a+a2) = (a3+a4) then write (i,' ');
end;
end;
end;
end.


Информатика (5.1k баллов) | 40 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
Пропущена строка k:=0;

if i mod 2 <> 0 then begin
k:=0;
for j:= 1 to (i div 2) do
if i mod j=0 then
inc (k);

(354 баллов)
0

var i,j,k,first,second: integer;
priz: boolean;
begin
for i:=1000 to 9999 do begin
j:=2; priz:=true;
while (j <= (i div 2)) do begin<br> if ((i mod j)=0) then
begin
priz:=false; j:=i;
end
else j:=j+1;
end;
if (priz) then
begin
first:=0; second:=0; j:=i;
for k:=1 to 4 do
begin
if k<=2 then first:=first+(j mod 10)<br> else second:=second+(j mod 10);
j:=j div 10;
end;

0

Продолжение, все не вошло for k:=1 to 4 do
begin
if k<=2 then first:=first+(j mod 10)<br> else second:=second+(j mod 10);
j:=j div 10;
end;
if first=second then
writeln('число = ',i);
end;
end;
end.