diff --git a/Makefile b/Makefile index 1d64733b4e06a5a77f1f13b51f90eb47cf0b7cf8..c77f8b62e2ab9259b78c71d1c3721f1aef3e14d3 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,8 @@ 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.rb 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) diff --git a/prime.rb b/prime.rb new file mode 100755 index 0000000000000000000000000000000000000000..358647a82e39d1535ba1648e34c8189c7f6b1e49 --- /dev/null +++ b/prime.rb @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby + +def isPrime(num) + num_sqr = Math.sqrt(num) + + return false if num_sqr % 1 == 0 + + (2..num_sqr.to_i).each do |n| + return false if num % n == 0 + end + + return true +end + +primes = [] +i = 2 + +while primes.count < ARGV.first.to_i do + primes << i if isPrime(i) + i += 1 +end + +puts primes