Piprimes: Difference between revisions

Content added Content deleted
(Added Wren)
(Added Algol 68)
Line 11: Line 11:
:* &nbsp; the OEIS entry: &nbsp; [http://oeis.org/A000720 A0000720 pi(n), the number of primes <= n. Sometimes called PrimePi(n)...].
:* &nbsp; the OEIS entry: &nbsp; [http://oeis.org/A000720 A0000720 pi(n), the number of primes <= n. Sometimes called PrimePi(n)...].
<br><br>
<br><br>

=={{header|ALGOL 68}}==
<lang algol68>BEGIN # Show some values of pi(n) - the number of priems <= n #
# reurns a sieve of primes up to n #
PROC prime sieve = ( INT n )[]BOOL:
BEGIN
[ 1 : n ]BOOL p;
p[ 1 ] := FALSE; p[ 2 ] := TRUE;
FOR i FROM 3 BY 2 TO n DO p[ i ] := TRUE OD;
FOR i FROM 4 BY 2 TO n DO p[ i ] := FALSE OD;
FOR i FROM 3 BY 2 TO ENTIER sqrt( n ) DO
IF p[ i ] THEN FOR s FROM i * i BY i + i TO n DO p[ s ] := FALSE OD FI
OD;
p
END # prime sieve # ;
# show pi(n) for n up to 21 #
INT max number = 100; # guess of how large the primes we need are #
INT max pi = 21;
[]BOOL prime = prime sieve( max number );
INT pi := 0;
FOR i TO max number
WHILE IF prime[ i ] THEN pi +:= 1 FI;
pi <= max pi
DO
print( ( " ", whole( pi, -2 ) ) );
IF i MOD 10 = 0 THEN print( ( newline ) ) FI
OD
END</lang>
{{out}}
<pre>
0 1 2 2 3 3 4 4 4 4
5 5 6 6 6 6 7 7 8 8
8 8 9 9 9 9 9 9 10 10
11 11 11 11 11 11 12 12 12 12
13 13 14 14 14 14 15 15 15 15
15 15 16 16 16 16 16 16 17 17
18 18 18 18 18 18 19 19 19 19
20 20 21 21 21 21 21 21
</pre>


=={{header|REXX}}==
=={{header|REXX}}==