Вопрос по информатике:
Используя тип данных массив.напишите программу,которая реализует алгоритм Эратосфена для вычисления простых чисел,меньше заданного n(n <=200)
- 27.12.2017 11:28
- Информатика
- remove_red_eye 4566
- thumb_up 38
Ответы и объяснения 2
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.
- 28.12.2017 22:48
- thumb_up 2
//Если программа не запускается, то обновите версию
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.
- 29.12.2017 21:03
- thumb_up 27
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.