作业帮 > 综合 > 作业

pascal 筛法求素数求a到b之间的素数

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/30 15:25:38
pascal 筛法求素数求a到b之间的素数
求素数
【试题描述】
素数的求法有很多种,以筛法求素数最快最好.筛法求素数的原型就是基于集合思想的,你能用集合的方法求出某一范围内的素数吗?
【输入格式】
共一行,两个整数a和b,表示求a到b之间的素数.
【输出格式】
共一行,输出a到b之间的所有素数,用一个空格隔开.
【样例】
prime.in
10 20
prime.out
11 13 17 19

求速度!~~~
pascal 筛法求素数求a到b之间的素数
const
maxn=1000000;
var
b:array[1..maxn]of boolean;
j,i,st,ed:longint;
begin
readln(st,ed);
for i:=2 to ed do
if not b[i] then
begin
for j:=2 to trunc(ed/i) do
b[j*i]:=true;
end;
for i:=st to ed do
if not b[i] then
write(i,' ');
writeln;
end.
再问: 看懂一点,集合捏?