Module: PrimeNumbers

Defined in:
lib/prime_numbers.rb,
lib/prime_numbers/version.rb

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.first_prime_prods(n = 10) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/prime_numbers.rb', line 18

def self.first_prime_prods(n = 10)
  return 0 unless n > 1
  
  rows = []
  next_prime = 0
  prime_prod = 1
  
  (n - 1).times do |i|
    
    next_prime = PrimeInt::Integer.next_prime(next_prime)
    prime_prod = prime_prod * next_prime
    
    rows << [i, next_prime, prime_prod]
  end
  
  rows
end

.fist_primes(n = 10) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/prime_numbers.rb', line 7

def self.fist_primes(n = 10)
  e = Enumerator.new do |els|
    i = 2
    loop do
      els << i
      i = PrimeInt::Integer.next_prime(i)
    end
  end
  e.take n
end

.table_product_primes(n = 10) ⇒ Object



36
37
38
39
# File 'lib/prime_numbers.rb', line 36

def self.table_product_primes(n = 10)
  # This is just a binding from an external plugin which can be modified / substituted during time
  Terminal::Table.new :headings => ['i', 'Prime', 'Product'], :rows => first_prime_prods(n)
end