Плиииииз.....паскаль Дано натуральное число n. Выяснить, имеются ли среди чисел n, n+1, ..., 2n близнецы, т.е. простые числа, разность между которыми равна. Определить процедуру, позволяющую распознать простые числа. написал пр...

Плиииииз.....паскаль Дано натуральное число 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.
Гость
Ответ(ы) на вопрос:
Гость
var     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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы