home *** CD-ROM | disk | FTP | other *** search
- { MaxonPascal3-Anpassung / Test: Falk Zühlsdorff (PackMAN) 1994 }
-
- Program Sieve;
-
- Const max=2000;
-
- { Bei größerem "max" wird auch die Variable "s" länger und unhandlicher. }
- { Deshalb wird das Programm auch bei kleinem "m" langsamer. }
-
- Type Menge = set of 1..max;
-
- Var s: set of 0..max;
- i,j: integer;
- m: 2..max;
-
- Procedure Ausgabe(Var f:text; m:menge; a,b:integer);
- Const NpL = 10; { Numbers per Line }
- Var i,count:integer;
- Begin
- count:=0;
- For i:=a to b Do
- If i in m Then
- Begin
- write(f,i:6);
- count:=count+1;
- If count>=NpL Then
- Begin writeln(f); count:=0 End
- End;
- writeln(f)
- End;
-
- Begin
- writeln('Primzahlberechnung durch Sieb des Eradingsbums');
- writeln;
- write('Maximum: '); readln(m)
- s:=[2..m];
- For i:=2 to m do
- If i in s then
- Begin
- j:=i;
- write(i:8,chr($0d));
- While j<=m-i do
- Begin j:=j+i; s:=s-[j]; end;
- End;
- Ausgabe(output,s,1,m)
- End.
-
-