Module: GeneralUnits::Arithmetics
- Defined in:
- lib/general_units/arithmetics/methods.rb
Class Method Summary collapse
Class Method Details
.three_factors_of(number) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/general_units/arithmetics/methods.rb', line 17 def self.three_factors_of(number) export = [] two_factors_of(number).each do |factors| two_factors_of(factors[1]).each do |next_factors| export << [factors[0]] + next_factors end end export end |
.two_factors_of(number) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/general_units/arithmetics/methods.rb', line 4 def self.two_factors_of(number) if (number = number.to_i) && (number > 1) primes, powers = number.prime_division.transpose exponents = powers.map {|i| (0..i).to_a} divisors = exponents.shift.product(*exponents).map do |powers| primes.zip(powers).map {|prime, power| prime ** power}.inject(:*) end divisors.sort.map {|div| [div, number/div]} else [] end end |