Я решал вопрос простой путь Я использую bfs
, чтобы решить этот вопрос
Вот мое решение https://ideone.com/GMOyWX
, когда я использую этофункция проверки на простое число, я получаю правильный ответ как 6
bool isprime(int number) {
for (int i = 2; i < sqrt(number); i++) {
if (number % i == 0 && i != number) return false;
}
return true;
}
Но когда я использую сита, я получаю неправильный ответ как 5
void sieves(int n) {
isPrime[0] = false;
isPrime[1] = false;
for (int i = 2; i <= n; i++) {
if (isPrime[i]) {
for (int j = 2*i; j <= n; j+=i) {
isPrime[j] = false;
}
}
}
}
Может кто-нибудь сказать мне, что не такс ситами?