From d8b4e197691585bbf1e1e1cbc37a3062155281a7 Mon Sep 17 00:00:00 2001 From: saurav anand Date: Sat, 5 Oct 2019 17:39:18 +0530 Subject: [PATCH] most used algorithm for primes generation is added --- sieve_for_prime.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 sieve_for_prime.cpp diff --git a/sieve_for_prime.cpp b/sieve_for_prime.cpp new file mode 100644 index 0000000..6fc5914 --- /dev/null +++ b/sieve_for_prime.cpp @@ -0,0 +1,34 @@ +//sieve method is used in many questions to generate prime numbers. +//its beauty is its low complexity i.e O(n*log(log(n))) + + +#include +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; + cout<<"Enter the value upto which you want prime numbers"; + cin>>n; + SieveOfEratosthenes(n); + return 0; +}