sieve of eratosthenes cpp code example
Example 1: sieve of eratosthenes c++
// C++ program to print all primes smaller than or equal to
// n using Sieve of Eratosthenes
#include
using namespace std;
void SieveOfEratosthenes(int n)
{
// Create a boolean array "prime[0..n]" and initialize
// all entries it as true. A value in prime[i] will
// finally be false if i is Not a prime, else true.
bool prime[n+1];
memset(prime, true, sizeof(prime));
for (int p=2; p*p<=n; p++)
{
// If prime[p] is not changed, then it is a prime
if (prime[p] == true)
{
// Update all multiples of p greater than or
// equal to the square of it
// numbers which are multiple of p and are
// less than p^2 are already been marked.
for (int i=p*p; i<=n; i += p)
prime[i] = false;
}
}
// Print all prime numbers
for (int p=2; p<=n; p++)
if (prime[p])
cout << p << " ";
}
// Driver Program to test above function
int main()
{
int n = 30;
cout << "Following are the prime numbers smaller "
<< " than or equal to " << n << endl;
SieveOfEratosthenes(n);
return 0;
}
Example 2: prime of sieve
//sieve of eratosthenes or prime of sieve
#include
#include
using namespace std;
void primeofsieve(long long int n)
{
long long int arr[n]={};
for(int i=2;i<=sqrt(n);i++)
{
for(long long int j=i*i;j<=n;j+=i)
arr[j]=1;
}
for(long long int i=2;i<=n;i++)
{
if(arr[i]==0)
cout<>n;
cout<<"PRIME NUMBERs ARE : ";
primeofsieve(n);
return 0;
}
Example 3: sieve of eratosthenes c++
int n;
vector is_prime(n+1, true);
is_prime[0] = is_prime[1] = false;
for (int i = 2; i <= n; i++) {
if (is_prime[i] && (long long)i * i <= n) {
for (int j = i * i; j <= n; j += i)
is_prime[j] = false;
}
}
Example 4: sieve of eratosthenes c++
int n;
vector is_prime(n+1, true);
is_prime[0] = is_prime[1] = false;
for (int i = 2; i <= n; i++) {
if (is_prime[i] && (long long)i * i <= n) {
for (int j = i * i; j <= n; j += i)
is_prime[j] = false;
}
}