Miller–Rabin primality test: Difference between revisions

m
m (→‎{{header|Sidef}}: updated code)
Line 4,106:
n == 2 && return true
n <= 1 && return false
n %% 2 && 1 || return false
 
var d = n-1
Line 4,113:
 
k.times {
var a = 2.irand(2, n-1)
var x = expmod(a, d, n)
next if (x ~~ [1, n-1])
 
(s-1).times {
x. = expmod!(x, 2, n)
return false if x==1
break if (x == n-1)
Line 4,128:
}
 
say(^1000->grep {|n| is_prime(n, 10) }.grep(^1000).join(', '))</lang>
 
=={{header|Smalltalk}}==
2,747

edits