Find prime numbers of the form n*n*n+2: Difference between revisions

From Rosetta Code
Content added Content deleted
(Added Wren)
Line 42: Line 42:
done...
done...


</pre>

=={{header|Wren}}==
{{libheader|Wren-math}}
{{libheader|Wren-trait}}
{{libheader|Wren-fmt}}
If ''n'' is even then ''n³ + 2'' is also even, so we only need to examine odd values of ''n'' here.
<lang ecmascript>import "/math" for Int
import "/trait" for Stepped
import "/fmt" for Fmt

var limit = 200
for (n in Stepped.new(1...limit, 2)) {
var p = n*n*n + 2
if (Int.isPrime(p)) Fmt.print("n = $3d => n³ + 2 = $,9d", n, p)
}</lang>

{{out}}
<pre>
n = 1 => n³ + 2 = 3
n = 3 => n³ + 2 = 29
n = 5 => n³ + 2 = 127
n = 29 => n³ + 2 = 24,391
n = 45 => n³ + 2 = 91,127
n = 63 => n³ + 2 = 250,049
n = 65 => n³ + 2 = 274,627
n = 69 => n³ + 2 = 328,511
n = 71 => n³ + 2 = 357,913
n = 83 => n³ + 2 = 571,789
n = 105 => n³ + 2 = 1,157,627
n = 113 => n³ + 2 = 1,442,899
n = 123 => n³ + 2 = 1,860,869
n = 129 => n³ + 2 = 2,146,691
n = 143 => n³ + 2 = 2,924,209
n = 153 => n³ + 2 = 3,581,579
n = 171 => n³ + 2 = 5,000,213
n = 173 => n³ + 2 = 5,177,719
n = 189 => n³ + 2 = 6,751,271
</pre>
</pre>

Revision as of 14:14, 15 March 2021

Find prime numbers of the form n*n*n+2 is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Task
Find prime numbers of form   n3+2,   where 0 < n < 200


Ring

<lang ring> load "stdlib.ring"

see "working..." + nl

for n = 1 to 200

   pr = pow(n,3)+2
   if isprime(pr)
      see "n: " + n + " n*n*n+2 : " + pr + nl
   ok

next

see "done..." + nl </lang>

Output:
working...
n: 1 n*n*n+2 : 3
n: 3 n*n*n+2 : 29
n: 5 n*n*n+2 : 127
n: 29 n*n*n+2 : 24391
n: 45 n*n*n+2 : 91127
n: 63 n*n*n+2 : 250049
n: 65 n*n*n+2 : 274627
n: 69 n*n*n+2 : 328511
n: 71 n*n*n+2 : 357913
n: 83 n*n*n+2 : 571789
n: 105 n*n*n+2 : 1157627
n: 113 n*n*n+2 : 1442899
n: 123 n*n*n+2 : 1860869
n: 129 n*n*n+2 : 2146691
n: 143 n*n*n+2 : 2924209
n: 153 n*n*n+2 : 3581579
n: 171 n*n*n+2 : 5000213
n: 173 n*n*n+2 : 5177719
n: 189 n*n*n+2 : 6751271
done...

Wren

Library: Wren-math
Library: Wren-trait
Library: Wren-fmt

If n is even then n³ + 2 is also even, so we only need to examine odd values of n here. <lang ecmascript>import "/math" for Int import "/trait" for Stepped import "/fmt" for Fmt

var limit = 200 for (n in Stepped.new(1...limit, 2)) {

   var p = n*n*n + 2
   if (Int.isPrime(p)) Fmt.print("n = $3d => n³ + 2 = $,9d", n, p)

}</lang>

Output:
n =   1 => n³ + 2 =         3
n =   3 => n³ + 2 =        29
n =   5 => n³ + 2 =       127
n =  29 => n³ + 2 =    24,391
n =  45 => n³ + 2 =    91,127
n =  63 => n³ + 2 =   250,049
n =  65 => n³ + 2 =   274,627
n =  69 => n³ + 2 =   328,511
n =  71 => n³ + 2 =   357,913
n =  83 => n³ + 2 =   571,789
n = 105 => n³ + 2 = 1,157,627
n = 113 => n³ + 2 = 1,442,899
n = 123 => n³ + 2 = 1,860,869
n = 129 => n³ + 2 = 2,146,691
n = 143 => n³ + 2 = 2,924,209
n = 153 => n³ + 2 = 3,581,579
n = 171 => n³ + 2 = 5,000,213
n = 173 => n³ + 2 = 5,177,719
n = 189 => n³ + 2 = 6,751,271