Nice primes: Difference between revisions

Added Wren
No edit summary
(Added Wren)
Line 128:
done...
 
</pre>
 
=={{header|Wren}}==
{{libheader|Wren-math}}
{{libheader|Wren-trait}}
{{libheader|Wren-fmt}}
<lang ecmascript>import "/math" for Int
import "/trait" for Stepped
import "/fmt" for Fmt
 
var sumDigits = Fn.new { |n|
var sum = 0
while (n > 0) {
sum = sum + (n % 10)
n = (n/10).floor
}
return sum
}
 
var smallPrimes = [2, 3, 5, 7]
System.print("Nice primes in the interval (500, 900) are:")
var c = 0
for (i in Stepped.new(501..999, 2)) {
if (Int.isPrime(i)) {
var s = i
while (s >= 10) s = sumDigits.call(s)
if (smallPrimes.contains(s)) {
c = c + 1
Fmt.print("$2d: $d -> Σ = $d", c, i, s)
}
}
}</lang>
 
{{out}}
<pre>
Nice primes in the interval (500, 900) are:
1: 509 -> Σ = 5
2: 547 -> Σ = 7
3: 563 -> Σ = 5
4: 569 -> Σ = 2
5: 587 -> Σ = 2
6: 599 -> Σ = 5
7: 601 -> Σ = 7
8: 617 -> Σ = 5
9: 619 -> Σ = 7
10: 641 -> Σ = 2
11: 653 -> Σ = 5
12: 659 -> Σ = 2
13: 673 -> Σ = 7
14: 677 -> Σ = 2
15: 691 -> Σ = 7
16: 709 -> Σ = 7
17: 727 -> Σ = 7
18: 743 -> Σ = 5
19: 761 -> Σ = 5
20: 797 -> Σ = 5
21: 821 -> Σ = 2
22: 839 -> Σ = 2
23: 853 -> Σ = 7
24: 857 -> Σ = 2
25: 887 -> Σ = 5
26: 907 -> Σ = 7
27: 911 -> Σ = 2
28: 929 -> Σ = 2
29: 941 -> Σ = 5
30: 947 -> Σ = 2
31: 977 -> Σ = 5
32: 983 -> Σ = 2
33: 997 -> Σ = 7
</pre>
9,490

edits