Extreme primes: Difference between revisions

Content added Content deleted
(Added C)
Line 42: Line 42:
print( ( "The first 30 extreme primes:", newline ) );
print( ( "The first 30 extreme primes:", newline ) );
print( ( whole( 2, -6 ), " " ) ); # 2 is the first prime so is "extreme" #
print( ( whole( 2, -6 ), " " ) ); # 2 is the first prime so is "extreme" #
INT prime sum count := 1;
LONG INT prime sum := 2;
LONG INT prime sum := 2;
INT prime sum count := 1;
LONG INT candidate := 1;
LONG INT last prime := 0;
FOR i FROM 3 BY 2 TO UPB prime WHILE prime sum count < 30 DO
IF is prime( i ) THEN
prime sum +:= i; # have another prime #
last prime := i;
IF is prime( prime sum ) THEN # the prime sum is also prime #
print( ( whole( prime sum, -6 )
, IF ( prime sum count +:= 1 ) MOD 10 = 0 THEN newline ELSE " " FI
)
)
FI
FI
OD;
print( ( newline ) );
LONG INT candidate := last prime;
WHILE prime sum count < 5 000 DO
WHILE prime sum count < 5 000 DO
IF is prime( candidate +:= 1 ) THEN
IF is prime( candidate +:= 2 ) THEN
prime sum +:= candidate; # have another prime #
prime sum +:= candidate; # have another prime #
IF is prime( prime sum ) THEN # the prime sum is also prime #
IF is prime( prime sum ) THEN # the prime sum is also prime #
IF ( prime sum count +:= 1 ) MOD 1000 = 0 THEN
prime sum count +:= 1;
IF prime sum count <= 30 THEN
print( ( whole( prime sum, -6 )
, IF prime sum count MOD 10 = 0 THEN newline ELSE " " FI
)
)
ELIF prime sum count MOD 1000 = 0 THEN
print( ( "Extreme prime ", whole( prime sum count, -5 )
print( ( "Extreme prime ", whole( prime sum count, -5 )
, " is ", whole( candidate, -12 )
, " is ", whole( candidate, -12 )