From d7f806784c4c28d2791505493c132b11eaef1627 Mon Sep 17 00:00:00 2001 From: Yuliyan Dudin Date: Sun, 7 Feb 2016 19:01:16 +0200 Subject: [PATCH] Implementing prime?(n) and first_primes(n) --- week01/1-Warmup-Problems/good_solutions.rb | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/week01/1-Warmup-Problems/good_solutions.rb b/week01/1-Warmup-Problems/good_solutions.rb index c3c1f0a..ca82d19 100644 --- a/week01/1-Warmup-Problems/good_solutions.rb +++ b/week01/1-Warmup-Problems/good_solutions.rb @@ -113,11 +113,24 @@ def largest_palindrome(n) end def prime?(n) - # Waiting for PR + num = n.to_i.abs + + return false if num == 0 || num == 1 + 2.upto(num - 1) do |i| + return false if num % i == 0 + end + + true end -def list_first_primes(n) - # Waiting for PR +def Integer.all + Enumerator.new do |yielder, n: 0| + loop { yielder.yield(n += 1) } + end.lazy +end + +def first_primes(n) + Integer.all.select { |num| prime?(num) && num > 1 }.first(n) end def sieve(n)