|
|
1.1 root 1: program primes(output);
2: const n = 1000; n1 = 33; (*n1 = sqrt(n)*)
3: var i,k,x,inc,lim,square,l: integer;
4: prim: boolean;
5: p,v: array[1..n1] of integer;
6: begin writeln(wallclock);
7: write(2:6, 3:6); l := 2;
8: x := 1; inc := 4; lim := 1; square := 9;
9: for i := 3 to n do
10: begin (*find next prime*)
11: repeat x := x + inc; inc := 6-inc;
12: if square <= x then
13: begin lim := lim+1;
14: v[lim] := square; square := sqr(p[lim+1])
15: end ;
16: k := 2; prim := true;
17: while prim and (k<lim) do
18: begin k := k+1;
19: if v[k] < x then v[k] := v[k] + 2*p[k];
20: prim := x <> v[k]
21: end
22: until prim;
23: if i <= n1 then p[i] := x;
24: write(x:6); l := l+1;
25: if l = 10 then
26: begin writeln; l := 0
27: end
28: end ;
29: writeln; writeln(wallclock)
30: end .
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.