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

Используя тип данных массив.напишите программу,которая реализует алгоритм эратосфена для вычисления простых чисел,меньше заданного n(n < =200)

Ответ:
LEXUS2705
LEXUS2705
05.10.2020 22:42
//FPC 2.6.4
Program sieve_of_Eratosthenes;
var 
n, i, x:integer; 
a: array[1..32000] of boolean;
begin
 readln(n);
  for i:=2 to (n+1) div 2 do 
  begin
   x:=i*2;
    while x<=n do 
    begin
     a[x]:=true;
     x:=x+i;
    end;
    x:=0;
  end;
  for i:=1 to n do if not a[i] then write(i,' ');
 readln;
end.
0,0(0 оценок)
Ответ:
ket174
ket174
05.10.2020 22:42
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
const
    n = 200;

var
    primes: array of integer;

begin
    primes := ArrGen(n, i -> i);
    
    for var i := 2 to round(sqrt(n)) do
    begin
        if not (primes.Contains(i)) then
            continue;
        var e := SeqWhile(i*i, x -> x + i, x -> x <= n);
        primes := primes.Except(e).ToArray;
    end;
    
    writeln('Простые числа < ', n, ':');
    writeln(primes);
    writeln;
    writeln('Время вычисления: ', Milliseconds / 1000);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?