From 0fb5b77d3faf56b8c1d83516256f359086f3addd Mon Sep 17 00:00:00 2001 From: kittobi1992 Date: Fri, 21 Nov 2014 16:02:51 +0100 Subject: Primzahlsieb Signed-off-by: kittobi1992 --- math/primeSieve.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 math/primeSieve.cpp (limited to 'math/primeSieve.cpp') diff --git a/math/primeSieve.cpp b/math/primeSieve.cpp new file mode 100644 index 0000000..9981981 --- /dev/null +++ b/math/primeSieve.cpp @@ -0,0 +1,24 @@ +#include +#include + +vector primeSieve(int n) { + vector primes; + vector isPrime(n,true); + for(int i = 2; i < n; i+=2) { + if(i*i <= n) { + if(isPrime[i]) { + primes.push_back(i); + for(int j = 1; i*j < n; j++) { + isPrime[i*j] = false; + } + } + } + else { + if(isPrime[i]) + primes.push_back(i); + } + if(i == 2) + i--; + } + return primes; +} \ No newline at end of file -- cgit v1.2.3