Nice primes: Difference between revisions

Added Go
(Added Wren)
(Added Go)
Line 57:
997
}</pre>
 
=={{header|Go}}==
{{trans|Wren}}
<lang go>package main
 
import "fmt"
 
func isPrime(n int) bool {
switch {
case n < 2:
return false
case n%2 == 0:
return n == 2
case n%3 == 0:
return n == 3
default:
d := 5
for d*d <= n {
if n%d == 0 {
return false
}
d += 2
if n%d == 0 {
return false
}
d += 4
}
return true
}
}
 
func sumDigits(n int) int {
sum := 0
for n > 0 {
sum += n % 10
n /= 10
}
return sum
}
 
func main() {
fmt.Println("Nice primes in the interval (500, 900) are:")
c := 0
for i := 501; i <= 999; i += 2 {
if isPrime(i) {
s := i
for s >= 10 {
s = sumDigits(s)
}
if s == 2 || s == 3 || s == 5 || s == 7 {
c++
fmt.Printf("%2d: %d -> Σ = %d\n", c, i, s)
}
}
}
}</lang>
 
{{out}}
<pre>
Same as Wren example.
</pre>
 
 
 
=={{header|Ring}}==
9,490

edits