A large commit.
[pdp8.git] / sw / src / pascal / PRIMZA.PS
CommitLineData
81e70d48
PH
1PROGRAM 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.