diff --git a/Makefile b/Makefile index 1d64733b4e06a5a77f1f13b51f90eb47cf0b7cf8..d12a8648850dadbbe6691d844b980d8a4b4bf101 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,7 @@ clean: test: @ time -f "%C : %E seconds" ./a.out 100000 > /dev/null - @ time -f "%C : %E seconds" ./prime.py 100000 > /dev/null - @ time -f "%C : %E seconds" ./prime.lua 100000 > /dev/null - @ time -f "%C : %E seconds" ./prime.php 100000 > /dev/null + @ time -f "%C : %E seconds" ./prime.py 100000 > /dev/null + @ time -f "%C : %E seconds" ./prime.lua 100000 > /dev/null + @ time -f "%C : %E seconds" ./prime.php 100000 > /dev/null + @ time -f "%C : %E seconds" ./prime.js 100000 > /dev/null diff --git a/prime.js b/prime.js new file mode 100755 index 0000000000000000000000000000000000000000..2c2a35c6d25d2d87dd0000a326e94cee586fb3f6 --- /dev/null +++ b/prime.js @@ -0,0 +1,22 @@ +#!/usr/bin/env node --use_strict + +function isPrime(num) { + let num_sqr = Math.sqrt(num) + + if(num_sqr % 1 == 0) return false + + for(let i=2; i<num_sqr; i++) + if(num % i == 0) return false + + return true +} + +var primes = [] +let i = 2 + +while(primes.length < parseInt(process.argv[2])) { + if(isPrime(i)) primes.push(i) + i++ +} + +console.log(primes)