Дано натуральное число n. выяснить, имеются ли среди чисел n, n+1, 2n близнецы, т.е. простые числа, разность между которыми равна. определить процедуру, позволяющую распознать простые числа. написал программу, но она не выполняется, исправить ошибку program ex2; var n: integer; function p(n: integer): boolean; var count, k : integer; begin count: =0; k: =2; while (k*k< =n) and (count=0) do begin if n mod k=0 then count: =count+1; k: =k+1 end; p: =(count=0) end; begin read(n); while p(n) do begin writeln('простое число'); read(n); if p(n)- p(n+1)=2 then writeln('близнецы'); end; end.
n, i, prev: integer;
function IsSimpleNumber(n: integer): boolean;
var
i: integer;
begin
IsSimpleNumber := true;
for i := 2 to round(sqrt(n) + 1) do
if n mod i = 0 then begin
IsSimpleNumber := false;
exit;
end;
end;
begin
read(n);
prev := 0;
for i := n to 2 * n do
if IsSimpleNumber(i) then
if prev = 0 then
prev := i
else if i - prev = 2 then begin
writeln(i, ', ', prev, ' - близнецы');
halt;
end
else prev := i;
writeln('Близнецов нет');
end.