Pernicious numbers: Difference between revisions

Content added Content deleted
m (→‎{{header|Phix}}: is_prime() now builtin)
(Added Wren)
Line 2,714: Line 2,714:
<lang wortel>!-ispernum 1..36 ; returns [3 5 6 7 9 10 11 12 13 14 17 18 19 20 21 22 24 25 26 28 31 33 34 35 36]
<lang wortel>!-ispernum 1..36 ; returns [3 5 6 7 9 10 11 12 13 14 17 18 19 20 21 22 24 25 26 28 31 33 34 35 36]
!-ispernum 888888877..888888888 ; returns [888888877 888888878 888888880 888888883 888888885 888888886]</lang>
!-ispernum 888888877..888888888 ; returns [888888877 888888878 888888880 888888883 888888885 888888886]</lang>

=={{header|Wren}}==
{{trans|Go}}
<lang ecmascript>var pernicious = Fn.new { |w|
var ff = 2.pow(32) - 1
var mask1 = (ff / 3).floor
var mask3 = (ff / 5).floor
var maskf = (ff / 17).floor
var maskp = (ff / 255).floor
w = w - (w >> 1 & mask1)
w = (w & mask3) + (w >>2 & mask3)
w = (w + (w >> 4)) & maskf
return 0xa08a28ac >> (w*maskp >> 24) & 1 != 0
}

var i = 0
var n = 1
while (i < 25) {
if (pernicious.call(n)) {
System.write("%(n) ")
i = i + 1
}
n = n + 1
}
System.print()
for (n in 888888877..888888888) {
if (pernicious.call(n)) System.write("%(n) ")
}
System.print()</lang>

{{out}}
<pre>
3 5 6 7 9 10 11 12 13 14 17 18 19 20 21 22 24 25 26 28 31 33 34 35 36
888888877 888888878 888888880 888888883 888888885 888888886
</pre>


=={{header|zkl}}==
=={{header|zkl}}==