How to find number of prime numbers up to to N?
$$\pi(n) \approx \frac{n}{\ln(n)}$$
where $\pi(n)$ is the number of primes less than $n$ and $\ln(n)$ is the natural logarithm of $n$. (Googling 'Prime Number Theorem' will tell you more! But this seems particularly nice for a one-page intro: http://primes.utm.edu/howmany.shtml#pnt )
One of the closest approximations to $\pi(x)$ is the log-integral, $\mathrm{Li}(x)$. The asymptotic expansion is easy to derive using integration by parts: $$ \begin{align} \mathrm{Li}(x) &=\int_2^n\frac{\mathrm{d}t}{\log(t)}\\ &=\frac{n}{\log(n)}+C_1+\int_2^n\frac{\mathrm{d}t}{\log(t)^2}\\ &=\frac{n}{\log(n)}+\frac{n}{\log(n)^2}+C_2+\int_2^n\frac{\mathrm{2\,d}t}{\log(t)^3}\\ &=\frac{n}{\log(n)}+\frac{n}{\log(n)^2}+\frac{2n}{\log(n)^3}+C_3+\int_2^n\frac{\mathrm{3!\,d}t}{\log(t)^4}\\ &=\frac{n}{\log(n)}\left(1+\frac1{\log(n)}+\frac2{\log(n)^2}+\dots+\frac{k!}{\log(n)^k}+O\left(\frac1{\log(n)^{k+1}}\right)\right) \end{align} $$ Thus, using the first two terms in the asymptotic series, $$ \begin{align} \frac{n}{\log(n)}\left(1+\frac1{\log(n)}+\dots\right) &=\frac{n}{\log(n)\left(1-\frac1{\log(n)}+\dots\right)}\\ &\approx\frac{n}{\log(n)-1} \end{align} $$ Therefore, $\dfrac{n}{\log(n)-1}$ is a better approximation than $\dfrac{n}{\log(n)}$ for large $n$.
The answers above are very correct and state the Prime Number Theorem. Note that below, $\pi(n)$ means the primes less than or equal to $n$. Pafnuty Chebyshev has shown that if $$\lim_{n \to \infty} {\pi(n) \over {n \over \ln(n)}}$$exists, it is $1$. There are a lot of values that are approximately equal to $\pi(n)$ actually, as shown in the table.
There is no known expicit formula for this, but we do know how this function behaves asymptotically, that is the famous prime-number theorem. It states that $$ \pi(n) \approx n/ln(n)$$
But there are certain algorithms for calculating this function. One such example is here Computing π(x): The Meissel, Lehmer, Lagarias, Miller, Odlyzko method
There is an exact formula, but it requires an enormous amount of computer processing power for large values of $n$.
Starting from the prime indicator function (1 if $n$ is prime, 0 otherwise for integer $n$), which is given by the power series:
$$-8\sum _{h=1}^{\infty} n^{2h}\sum _{i=1}^h \log\zeta(2i)\sum _{v=i}^{h}\frac{(-1)^{h-v}(4\pi )^{2h-2v}}{\zeta(2v-2i)(2h+2-2v)!}$$
the prime counting function, $\pi(x)$, can then be easily derived by summing up the above function over $n$.
$$\pi(x)=-8\sum _{h=1}^{\infty} H_{-2h}(x)\sum _{i=1}^h \log\zeta(2i)\sum _{v=i}^{h}\frac{(-1)^{h-v}(4\pi )^{2h-2v}}{\zeta(2v-2i)(2h+2-2v)!}$$
where $H_{-2h}(x)$ is given by Faulhaber's formulas (not ugly at all, compared to other formulas out there.)
How do you prove the above prime indicator formula? That is the product of two functions, Moebius' $\mu(n)$ and an adjusted Von Mangoldt function, $\Lambda(n)/\log{n}$ (which yields 1/k at the prime powers, $p^k$, otherwise it yields 0, if $n$ is integer), which means $-\mu(n)\Lambda(n)/\log{n}$ is 1 at the primes and 0 otherwise.
Per a theorem known as The inversion formula for Dirichlet series, both these functions can be expressed as a function of the zeta function, and their product results in the function above.
But, there is a trade-off between exactness and computing easiness, the more you have of one the less you have of the other, hence the approximation formulas are more useful for large values.
Reference An exact formula for the prime counting function
I've added a Mathematica formula for the prime indicator function, the reader can test it with values up to 6 ($n=1,...6$), if they have Mathematica. It will be 1 for integer $n$ prime, and 0 otherwise. (If you want to test higher values, T has to be increased.)
$MaxExtraPrecision = 200; T = 110; n = 6;
N[-8*Sum[
n^(2*h)*Sum[
Log[Zeta[2*i]]*
Sum[((-1)^(h - v)*(4*Pi)^(2*h - 2*v))/(Zeta[
2*v - 2*i]*(2*h + 2 - 2*v)!), {v, i, h}], {i, 1, h}], {h,
1, T}], 5]