diff --git a/Makefile b/Makefile index 1d64733b4e06a5a77f1f13b51f90eb47cf0b7cf8..fcf339fef0bcb6e434d89e7ecaab494ef2ed3ae4 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.rb 100000 > /dev/null 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