Prime counting function
05AB1E, 3 bytes
!fg
This assumes that factorization built-ins are allowed. Try it online!
How it works
! Compute the factorial of the input.
f Determine its unique prime factors.
g Get the length of the resulting list.
Python 2, 45 bytes
f=lambda n,k=1,p=1:n/k and p%k+f(n,k+1,p*k*k)
Uses the Wilson's Theorem prime generator. The product p
tracks (k-1)!^2
, and p%k
is 1 for primes and 0 for nonprimes.
MATL, 11, 10, 8, 5 bytes
:pYFn
Try it online!
I wrote a version that had a really cool explanation of how MATL's matrices work:
:YF!s1=1
But it's no longer relevant. Check out the revision history if you want to see it.
New explanation:
:p % Compute factorial(input)
YF % Get the exponenents of prime factorization
n % Get the length of the array
Three bytes saved thanks to Dennis's genius solution