File tree Expand file tree Collapse file tree 4 files changed +45
-0
lines changed
number_theory/seive_of_erathrones Expand file tree Collapse file tree 4 files changed +45
-0
lines changed Original file line number Diff line number Diff line change 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" : {
Original file line number Diff line number Diff line change 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 ) ;
Original file line number Diff line number Diff line change 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 ( ) ;
Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments