В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
tvojrulet16
tvojrulet16
02.07.2021 16:43 •  Информатика

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

Показать ответ
Ответ:
StanleyPines618
StanleyPines618
30.08.2020 23:31
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота