Skip to content

Commit 9464a36

Browse files
committed
Added Sieve of Eratosthenes in C
1 parent 8a81e61 commit 9464a36

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#include <stdio.h>
2+
3+
int main()
4+
{
5+
int number = 100, i, j;
6+
int primes[number + 1];
7+
8+
for (i = 2; i <= number; i++) //populating array with naturals numbers
9+
primes[i] = i;
10+
11+
i = 2;
12+
while ((i * i) <= number)
13+
{
14+
if (primes[i] != 0)
15+
{
16+
for (j = 2; j < number; j++)
17+
{
18+
if (primes[i] * j > number)
19+
break;
20+
else
21+
primes[primes[i] * j] = 0; // Instead of deleteing , making elemnets 0
22+
}
23+
}
24+
i++;
25+
}
26+
27+
int result[number + 1];
28+
int k = 0;
29+
for (i = 2; i <= number; i++)
30+
{
31+
//If number is not 0 then it is prime
32+
if (primes[i] != 0)
33+
{
34+
result[k++] = primes[i];
35+
}
36+
}
37+
38+
return 0;
39+
}
40+
41+
/*
42+
TIme Complexity : O(nlog(logn))
43+
Space Complexity : O(n)
44+
*/

0 commit comments

Comments
 (0)