Puedes usar el mismo algoritmo para contar primos como una criba de Eratostenes, pero en vez de contar los primos, cuentas los que no lo son.
Si lo que quieres es estimar esa cantidad entonces, según wikipedia la cantidad de números primos hasta un número \( n \) es
\( p=\dfrac{n}{\log (n)-1} \)
Luego la cantidad de números compuestos es la cantidad de números totales \( n \) menos la cantidad de primos \( p \) hasta \( n \).
\( c=n-p \)