Giuga numbers: Difference between revisions

Added Go
(Added XPL0 example.)
(Added Go)
Line 25:
<br><br>
 
 
=={{header|Go}}==
{{trans|Wren}}
{{libheader|Go-rcu}}
<lang go>package main
 
import (
"fmt"
"rcu"
)
 
func main() {
const limit = 4
var giuga []int
for n := 4; len(giuga) < limit; n += 2 {
factors := rcu.PrimeFactors(n)
if len(factors) > 2 {
isSquareFree := true
for i := 1; i < len(factors); i++ {
if factors[i] == factors[i-1] {
isSquareFree = false
break
}
}
if isSquareFree {
isGiuga := true
for _, f := range factors {
if (n/f-1)%f != 0 {
isGiuga = false
break
}
}
if isGiuga {
giuga = append(giuga, n)
}
}
}
}
fmt.Println("The first", limit, "Giuga numbers are:")
fmt.Println(giuga)
}</lang>
 
{{out}}
<pre>
The first 4 Giuga numbers are:
[30 858 1722 66198]
</pre>
 
=={{header|Julia}}==
9,488

edits