И в чём проблема? Число n отвечает условию, если в диапазоне делителей от 2 до sqrt включительно имеет более одного делителя. Проверять делитель на простоту не требуется. Проверка числа на соответствие условию: bool check(int n) {
int cnt = 0;
for (int i = 2; i * i = 2) { return true; }
}
return false;
}