Talk:ALGOL 68-primes

From Rosetta Code
Revision as of 13:47, 29 August 2021 by Tigerofdarkness (talk | contribs) (Created a page with the source code for ALGOL 68-primes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Source code

<lang algol68># primes.incl.a68: prime related operators, procedure etc. #

   # returns a sieve of primes up to n                                      #
   OP   PRIMESIEVE = ( INT n )[]BOOL:
        BEGIN
           [ 1 : n ]BOOL prime;
           prime[ 1 ] := FALSE; prime[ 2 ] := TRUE;
           FOR i FROM 3 BY 2 TO UPB prime DO prime[ i ] := TRUE  OD;
           FOR i FROM 4 BY 2 TO UPB prime DO prime[ i ] := FALSE OD;
           FOR i FROM 3 BY 2 TO ENTIER sqrt( UPB prime ) DO
               IF prime[ i ] THEN FOR s FROM i * i BY i + i TO UPB prime DO prime[ s ] := FALSE OD FI
           OD;
           prime
        END; # PRIMESIEVE #
  1. END primes.incl.a68 #

</lang>