Информатика, опубликовано 2018-08-22 23:29:02 by Гость

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

Ответ оставил Гость

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.

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.