Numbers whose count of divisors is prime: Difference between revisions

m
briefer version, no need to make an array of divisors
m (briefer version, no need to make an array of divisors)
Line 97:
<lang julia>using Primes
 
using Primes
function hasprimedivisorcountbutnot2(n)
f = [one(n)]
for (p,e) in factor(n)
f = reduce(vcat, [f*p^j for j in 1:e], init=f)
end
ndivs = length(f)
return ndivs > 2 && isprime(ndivs)
end
 
ispdc(n) = (ndivs = prod(collect(values(factor(n))).+1); ndivs > 2 && isprime(ndivs))
 
foreach(p -> print(rpad(p[2], 8), p[1] % 10 == 0 ? "\n" : ""),
enumerate(filter(hasprimedivisorcountbutnot2ispdc, 1:100000)))
</lang>{{out}}
<pre>
4,108

edits