Generate a list of all numbers between 0 and N; mark the numbers 0 and 1 to be not prime code example
Example 1: sieve of eratosthenes c++
#include <bits/stdc++.h>
using namespace std;
void SieveOfEratosthenes(int n)
{
bool prime[n+1];
memset(prime, true, sizeof(prime));
for (int p=2; p*p<=n; p++)
{
if (prime[p] == true)
{
for (int i=p*p; i<=n; i += p)
prime[i] = false;
}
}
for (int p=2; p<=n; p++)
if (prime[p])
cout << p << " ";
}
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
#include<iostream>
#include<math.h>
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<<i<<" ";
}
}
int main()
{
#ifdef _DEBUG
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
long long int n;
cin>>n;
cout<<"PRIME NUMBERs ARE : ";
primeofsieve(n);
return 0;
}