Numbers whose binary and ternary digit sums are prime: Difference between revisions

→‎{{header|ALGOL 68}}: Use ALGOL 68-primes
(Added Fōrmulæ solution)
(→‎{{header|ALGOL 68}}: Use ALGOL 68-primes)
Line 6:
 
=={{header|ALGOL 68}}==
{{libheader|ALGOL 68-primes}}
<lang algol68>BEGIN # find numbers whose digit sums in binary and ternary are prime #
# reurns a sieve of primes up to n #
PROC 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 list # ;
# returns the digit sum of n in base b #
PRIO DIGITSUM = 9;
Line 32 ⟶ 21:
END # DIGITSUM # ;
INT max number = 200;
PR read "primes.incl.a68" PR
[]BOOL prime = sieve(PRIMESIEVE max number )200;
INT n count := 0;
FOR n TO maxUPB numberprime DO
INT d sum 2 = n DIGITSUM 2;
IF prime[ d sum 2 ] THEN
3,045

edits