Extreme primes

Revision as of 14:16, 23 April 2023 by PureFox (talk | contribs) (Added Wren (with serious reservations))

Definition

Write down the first prime number, add the next prime number and if it is prime, add it to the series and so on. These primes are called extreme primes

Task

Find and display the first 30 p extreme prime number on this page.

Ring

see "working..." + nl
limit = 2000
Primes = []

for n = 1 to limit
     if isPrime(n)
        add(Primes,n)
     ok
next
sum = 0
row = 0

for n = 1 to len(Primes)
     sum = sum + Primes[n]
     if isPrime(sum)
        row++
        see "" + sum + " "
        if row % 10 = 0
           see nl
        ok
      ok
next
see "done..." + nl

func isPrime num
     if (num <= 1) return 0 ok
     if (num % 2 = 0 and num != 2) return 0 ok
     for i = 3 to floor(num / 2) -1 step 2
         if (num % i = 0) return 0 ok
     next
     return 1
Output:
working...
2 5 17 41 197 281 7699 8893 22039 24133 
25237 28697 32353 37561 38921 43201 44683 55837 61027 66463 
70241 86453 102001 109147 116533 119069 121631 129419 132059 263171 
done...

Wren

Library: Wren-math
Library: Wren-fmt

This is very similar to the Prime numbers p for which the sum of primes less than or equal to p is prime task so I'm highly dubious about converting it to a separate draft task. I also found it at OEIS-A013918 though it doesn't appear to have a recognized name.

import "./math" for Int
import "./fmt" for Fmt

var primes = Int.primeSieve(300000)
var extremes = [2]
var sum = 2
var count = 1
for (p in primes.skip(1)) {
    sum = sum + p
    if (Int.isPrime(sum)) {
        extremes.add(sum)
        count = count + 1
        if (count == 30) break
    }
}
System.print("The first 30 extreme primes are:")
Fmt.tprint("$,7d ", extremes, 6)
Output:
The first 30 extreme primes are:
      2        5       17       41      197      281  
  7,699    8,893   22,039   24,133   25,237   28,697  
 32,353   37,561   38,921   43,201   44,683   55,837  
 61,027   66,463   70,241   86,453  102,001  109,147  
116,533  119,069  121,631  129,419  132,059  263,171