Skip to content

Commit a286f11

Browse files
committed
Seive of Erathrones
1 parent e55a2ca commit a286f11

File tree

4 files changed

+45
-0
lines changed

4 files changed

+45
-0
lines changed

algorithm/category.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@
1111
"bridges": "Find-Bridges"
1212
}
1313
},
14+
"number_theory": {
15+
"name": "Number Theory",
16+
"list": {
17+
"seive_of_erathrones": "Seive of Erathrones"
18+
}
19+
},
1420
"cryptography": {
1521
"name": "Cryptography",
1622
"list": {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
logger._print("1 is not prime");
2+
tracer._select(0)._wait();
3+
for(var i=2;i<=length;i++) {
4+
if(b[i]===0) {
5+
logger._print(i+" is not marked, so it is prime");
6+
// a[i-1] is prime mark by red indicators
7+
tracer._notify(i-1)._wait();
8+
for(var j=i+i;j<=length;j+=i) {
9+
b[j]=1; // a[j-1] is not prime, mark by blue indicators
10+
logger._print(j+" is a multiple of "+i+" so it is marked as composite" );
11+
tracer._select(j-1)._wait();
12+
}
13+
tracer._denotify(i-1);
14+
}
15+
}
16+
logger._print("The unmarked numbers are the prime numbers from 1 to "+length);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
var tracer = new Array1DTracer('Seive');
2+
length = 30;
3+
var a = [];
4+
var b = [];
5+
for (var i=1;i<=length;i++) {
6+
a.push(i);
7+
b.push(0);
8+
}
9+
tracer._setData(a);
10+
var logger = new LogTracer();
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"Seive of Erathrones": "Finding all prime numbers upto a given range.",
3+
"Complexity": {
4+
"time": "O(n(log n)(log log n))",
5+
"space": "O(n<sup>1/2</sup>)"
6+
},
7+
"References": [
8+
"<a href='https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes'>Wikipedia</a>"
9+
],
10+
"files": {
11+
"basic": "Seive of Erathrones"
12+
}
13+
}

0 commit comments

Comments
 (0)