Pandigital prime: Difference between revisions
m
→{{header|Julia}}: add 0
m (→{{header|REXX}}: optimized the (DO K loop) search.) |
m (→{{header|Julia}}: add 0) |
||
Line 315:
<lang julia>using Primes
function pandigitals(
mask = primesmask(10^
for j in
for i in evalpoly(10, firstdig:j):-1:evalpoly(10, j:-1:firstdig)
d = digits(i)▼
if
if length(d) == n && all(x -> count(y -> y == x, d) == 1, firstdig:j)
return i
end
end
end
end
return
end
for firstdigit in [1, 0]
println("Max pandigital prime over [$firstdigit, 9] is ", pandigitals(firstdigit, 9))
end
</lang>{{out}}
<pre>
function pandigitals(firstdig, lastdig)
mask = primesmask(10^(lastdig - firstdig + 1))
for j in lastdig:-1:firstdig
n = j - firstdig + 1
for i in evalpoly(10, firstdig:j):-1:evalpoly(10, j:-1:firstdig)
if mask[i]
▲ d = digits(i)
if length(d) == n && all(x -> count(y -> y == x, d) == 1, firstdig:j)
return i
end
end
end
end
return 0
end
for firstdigit in [1, 0]
println("Max pandigital prime over [$firstdigit, 9] is ", pandigitals(firstdigit, 9))
end
<pre>
Max pandigital prime over [1, 9] is 7652413
Max pandigital prime over [0, 9] is 76540231
</pre>
=={{header|Perl}}==
|