
Вопрос задан 29.06.2019 в 23:04.
Предмет Информатика.
Спрашивает Мартюшова Ирина.
Напишите программу, которая находит все простые числа в диапазоне от 2 до N двумя разными
способами: а) проверкой каждого числа из этого интервала на простоту; б)используя решето Эратосфена срочно надо, пожалуйста!

Ответы на вопрос

Отвечает Селеменев Максим.
Var n,i,k:integer;
p,pr:set of byte;
function prost(n:integer):boolean;
var j,m:integer;
begin
m:=0;
for j:=2 to trunc(sqrt(n)) do
if n mod j = 0 then inc(m);
prost:=m=0;
end;
begin
readln(n);
writeln('1:');
for i:=2 to n do
if prost(i) then write(i,' ');
writeln;
writeln('2:');
p:=[2..n]; pr:=[];
k:=2;
repeat
while not(k in p) do k:=k+1;
pr:=pr+[k];
i:=k;
repeat
p:=p-[i]; i:=i+k;
until i>n;
until p=[];
for i:=2 to n do
if i in pr then write(i,' ');
writeln;
end.
Пример:
40
1:
2 3 5 7 11 13 17 19 23 29 31 37
2:
2 3 5 7 11 13 17 19 23 29 31 37
p,pr:set of byte;
function prost(n:integer):boolean;
var j,m:integer;
begin
m:=0;
for j:=2 to trunc(sqrt(n)) do
if n mod j = 0 then inc(m);
prost:=m=0;
end;
begin
readln(n);
writeln('1:');
for i:=2 to n do
if prost(i) then write(i,' ');
writeln;
writeln('2:');
p:=[2..n]; pr:=[];
k:=2;
repeat
while not(k in p) do k:=k+1;
pr:=pr+[k];
i:=k;
repeat
p:=p-[i]; i:=i+k;
until i>n;
until p=[];
for i:=2 to n do
if i in pr then write(i,' ');
writeln;
end.
Пример:
40
1:
2 3 5 7 11 13 17 19 23 29 31 37
2:
2 3 5 7 11 13 17 19 23 29 31 37


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili