Emirp primes: Difference between revisions

m
Added Wren
m (→‎{{header|Haskell}}: Fix comment: Perl 6 --> Raku)
m (Added Wren)
Line 4,152:
10000th:
948349</pre>
 
=={{header|Wren}}==
<lang ecmascript>var isPrime = Fn.new { |n|
if (n < 2 || !n.isInteger) return false
if (n%2 == 0) return n == 2
if (n%3 == 0) return n == 3
var d = 5
while (d*d <= n) {
if (n%d == 0) return false
d = d + 2
if (n%d == 0) return false
d = d + 4
}
return true
}
 
var isEmirp = Fn.new{ |n|
if (!isPrime.call(n)) return false
var ns = "%(n)"
var rs = ns[-1..0]
var r = Num.fromString(rs)
if (r == n) return false
if (isPrime.call(r)) return true
return false
}
 
System.print("The first 20 emirps are:")
var count = 0
var i = 3
while (count < 20) {
if (isEmirp.call(i)) {
count = count + 1
System.write("%(i) ")
}
i = i + 2
}
 
System.print("\n\nThe emirps between 7700 and 8000 are:")
i = 7701
while (i < 8000) {
if (isEmirp.call(i)) System.write("%(i) ")
i = i + 2
}
 
System.write("\n\nThe 10,000th emirp is ")
count = 0
i = 1
while (count < 10000) {
i = i + 2
if (isEmirp.call(i)) {
count = count + 1
}
}
System.print(i)</lang>
 
{{out}}
<pre>
The first 20 emirps are:
13 17 31 37 71 73 79 97 107 113 149 157 167 179 199 311 337 347 359 389
 
The emirps between 7700 and 8000 are:
7717 7757 7817 7841 7867 7879 7901 7927 7949 7951 7963
 
The 10,000th emirp is 948349
</pre>
 
=={{header|zkl}}==
9,490

edits