Возьму на себя смелость еще раз объяснить откуда и почему вылезает ошибка, хотя уже
RIP сделал это много раз в
следующей теме
Надеюсь, что труды не пройдут напрасно. Излагаю как можно более популярно.
Пусть для заданного числа

в промежутке
![$[1...\sqrt{N}]$ $[1...\sqrt{N}]$](https://dxdy-04.korotkov.co.uk/f/b/4/9/b49e04f4c7363217880f627d5df1926482.png)
содержатся простые числа

. Ставится задача найти количество простых чисел в промежутке от

до

.
Проще рассмотреть на конкретном примере. Пусть
В промежутке от 1 до

из всех простых - это
Четных имеем
Делящихся на 3
Достаточно брать только эти простые, т.к. известно, что число простое, если оно не делится ни на одно простое из промежутка
Вычеркиваем из 20 все четные - это

,
из оставшихся вычеркиваем все делящиеся на три
Учитываем, что есть числа, делящиеся на два и на три одновременно (делящиеся на шесть), сейчас мы их вычеркнули два раза. Для исключения двухкратного вычитания суммируем к результату один раз:
Итак, у нас остались только простые числа, большие

и еще единица, которая тоже не вычеркнута. Для ее исключения берем
Здесь через

- обозначается ближайшее меньшее целое.
Расчеты дают
Таким образом, простых чисел, больших

и меньших

ровно шесть: 5, 7, 11, 13, 17, 19.
Повторяю - это абсолютно верная формула, дающая абсолютно точное значение для любых

. Если убрать знак взятия целой части, то имеем
Таким образом, теперь мы должны осознавать, что имеем уже лишь приближение.
Во что это выльется, покажем ниже.
Итак, распостраняя эти рассуждения для любого

приходим к известной формуле, указанной
RIPом - она верна всегда.
Отбрасываем целую часть, проводим преобразования и получаем, что искомая величина равна

.
Еще раз напоминаю - это не точная формула. Мы сознательно исказили результат (завысили его на некоторую величину

), отбросив значки взятия целой части. Вопрос теперь в том, как эта величина

будет себя вести. Априори она может увеличиваться до бесконечности, уменьшаться или стремиться к некоторой константе.
Однако есть классический доказанный результат - формула Мертенса:
Слева произведение по всем простым, меньшим

, справа

- экспонента,

- постоянная Эйлера. В нашем случае берутся все простые, меньшие

. Поэтому формула преобразуется

. Или вспоминая свойства логарифмов
Таким образом,
Здесь значек

- асимптотически стремится, т.е. если

стремится к бесконечности, то отношение этих выражений стремится к единице (на самом деле, в формуле Мертенса они отличаются на некоторую постоянную, которой можно пренебречь на бесконечности).
Поэтому, ваша формула,
Апис,

асимптотически ( при очень больших

) ничем не отличается от

.
С другой стороны, известен еще один доказанный классический результат, что количество простых чисел меньших

асимптотически стремится к

(в данном случае отличается от истинного значения на некоторую постоянную, которой можно пренебречь в бесконечности), т.е. количество простых чисел в промежутке от

до

- это
Если

устремлять к бесконечности, то вылезает асимптотическая ошибка

, потому что

.
На ваш вопрос, по-поводу количества составных чисел, также уже ответили. Почитайте посты
Руста,
RIPа в этом топике.