Предмет:
ИнформатикаАвтор:
jags#include <iostream>
#include <bitset>
#include <math.h>
const int N = 1000;
void SieveOfEratosthenes(int n) {
std::bitset<N + 1> is_prime;
is_prime.set(); // set all bits to 1
is_prime[0] = is_prime[1] = 0; // 0 and 1 are not prime
for (int i = 2; i <= sqrt(n); ++i) {
if (is_prime[i]) {
// Mark all multiples of i as not prime
for (int j = i * i; j <= n; j += i) {
is_prime[j] = 0;
}
}
}
// Print all prime numbers
for (int i = 2; i <= n; ++i) {
if (is_prime[i]) {
std::cout << i << " ";
}
}
}
int main() {
SieveOfEratosthenes(N);
return 0;
}
Автор:
tater totc1r4Добавить свой ответ
Предмет:
МатематикаАвтор:
aurelioОтветов:
Смотреть
Предмет:
МатематикаАвтор:
cristinabondОтветов:
Смотреть