• плиииииз.....паскаль Дано натуральное число 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.

Ответы 6

  • можно так
    • Автор:

      jaceyvia2
    • 6 лет назад
    • 0
  • function IsSimpleNumber(n: integer): boolean;var i: integer;begin IsSimpleNumber := true; i := 2; while i * i <= n do begin if n mod i = 0 then begin IsSimpleNumber := false; exit; end; i := i + 1; end;end;
  • о, вот это подходит, огромнейшее спасибо
    • Автор:

      ami
    • 6 лет назад
    • 0
  • ещё вопрос, а что такое halt
    • Автор:

      camron
    • 6 лет назад
    • 0
  • всё, разобрался с этой командой
  • 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.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years