Talk:ALGOL 68-primes: Difference between revisions

→‎ALGOL_68-primes Source code: Added APPROXIMATESOEVESIZEFPR operator based on Chebyshev's pi(n)/(n/ln(n)) ~ 1 as n approaches infinity
(→‎Source code: Added PROC is probably prime)
(→‎ALGOL_68-primes Source code: Added APPROXIMATESOEVESIZEFPR operator based on Chebyshev's pi(n)/(n/ln(n)) ~ 1 as n approaches infinity)
Line 118:
is prime
FI # is probably prime # ;
 
# returns an approximate size of sieve required for n primes #
# uses Chebyshev's formula of n/ln(n), increased by 20% #
# as n/ln(n) is only pi(n) when n appraoches infinity #
OP APPROXIMATESIEVESIZEFOR = ( INT n )INT:
BEGIN
INT result := 10;
WHILE INT primes = ENTIER ( ( result / ln( result ) ) * 1.2 );
primes < n
DO
result *:= 4
OD;
result
END # APPROXIMATESIEVESIZEFOR # ;
 
 
# END primes.incl.a68 #</lang>
3,021

edits