Cuban primes: Difference between revisions

Added Go
(added a (new) draft task, added the REXX computer programming language entry.)
 
(Added Go)
Line 27:
:* &nbsp; The OEIS entry: &nbsp; [http://oeis.org/A002407 <u>A2407</u>]. &nbsp; &nbsp; The &nbsp; 100,000<sup>th</sup> &nbsp; cuban prime can be verified in the &nbsp; 2<sup>nd</sup> &nbsp; ''example'' &nbsp; on this OEIS web page.
<br><br>
 
=={{header|Go}}==
<lang go>package main
 
import (
"fmt"
"math/big"
)
 
func commatize(n uint64) string {
s := fmt.Sprintf("%d", n)
le := len(s)
for i := le - 3; i >= 1; i -= 3 {
s = s[0:i] + "," + s[i:]
}
return s
}
 
func main() {
var z big.Int
var cube1, cube2, cube100k, prevCube, diff uint64
cubans := make([]string, 100)
prevCube = 1
count := 0
for i := 1; ; i++ {
cube1 = prevCube
j := i + 1
cube2 = uint64(j * j * j)
diff = cube2 - cube1
z.SetUint64(diff)
if z.ProbablyPrime(0) { // 100% accurate for z < 2 ^ 64
if count < 100 {
cubans[count] = commatize(diff)
}
count++
if count == 100000 {
cube100k = diff
break
}
}
prevCube = cube2
}
fmt.Println("The first 100 cuban primes are:-")
for i := 0; i < 10; i++ {
j := i * 10
fmt.Println(cubans[j : j+10]) // 10 per line say
}
fmt.Println("\nThe 100,000th cuban prime is", commatize(cube100k))
}</lang>
 
{{out}}
<pre>
The first 100 cuban primes are:-
[7 19 37 61 127 271 331 397 547 631]
[919 1,657 1,801 1,951 2,269 2,437 2,791 3,169 3,571 4,219]
[4,447 5,167 5,419 6,211 7,057 7,351 8,269 9,241 10,267 11,719]
[12,097 13,267 13,669 16,651 19,441 19,927 22,447 23,497 24,571 25,117]
[26,227 27,361 33,391 35,317 42,841 45,757 47,251 49,537 50,311 55,897]
[59,221 60,919 65,269 70,687 73,477 74,419 75,367 81,181 82,171 87,211]
[88,237 89,269 92,401 96,661 102,121 103,231 104,347 110,017 112,327 114,661]
[115,837 126,691 129,169 131,671 135,469 140,617 144,541 145,861 151,201 155,269]
[163,567 169,219 170,647 176,419 180,811 189,757 200,467 202,021 213,067 231,019]
[234,361 241,117 246,247 251,431 260,191 263,737 267,307 276,337 279,991 283,669]
 
The 100,000th cuban prime is 1,792,617,147,127
 
</pre>
 
=={{header|REXX}}==
9,490

edits