Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | PROGRAM PRIMZAHLEN(INPUT,OUTPUT); |
2 | ||
3 | CONST NMAX=1000; WNMAX=32; | |
4 | ||
5 | VAR X,SQUARE, | |
6 | I,K,LIM,N: INTEGER; | |
7 | PRIM: BOOLEAN; | |
8 | P: ARRAY[1..NMAX] OF INTEGER; | |
9 | V: ARRAY[1..WNMAX] OF INTEGER; | |
10 | ||
11 | BEGIN | |
12 | WRITE("DIE ERSTEN N PRIMZAHLEN: N="); READ(N); | |
13 | WRITELN; | |
14 | P[1] := 2; WRITE(2 :5); X := 1; LIM := 1; SQUARE := 4; | |
15 | FOR I:=2 TO N DO | |
16 | BEGIN | |
17 | REPEAT X := X + 2; | |
18 | IF SQUARE <= X THEN | |
19 | BEGIN V[LIM] := SQUARE; | |
20 | LIM := LIM + 1;SQUARE := SQR(P[LIM]) | |
21 | END ; | |
22 | K := 2; PRIM := TRUE; | |
23 | WHILE PRIM AND (K<LIM) DO | |
24 | BEGIN IF V[K]<X THEN V[K] := V[K] + P[K]; | |
25 | PRIM := (X<>V[K]); K := K+1 | |
26 | END | |
27 | UNTIL PRIM ; | |
28 | P[I] :=X; WRITE(X :7); IF I MOD 10 = 0 THEN WRITELN | |
29 | END | |
30 | END. |