class Integer
Integer
class method overloading.
Integer
class method overloading.
Integer
class method overloading.
Integer
class method overloading.
Integer
class method overloading.
Integer
class method overloading.
Public Instance Methods
Returns the biggest prime factor en.wikipedia.org/wiki/Prime_factor
By the fundamental theorem of arithmetic, every integer n > 1 has a unique factorization of prime numbers.
n = P1 * P2 * P3 * … * P(M-1) w/ P(i) > 1 and prime. If we divide n by its smallest prime factor, the last one will be the biggest.
# File lib/rubysh_mathematica/Overloads/Integer/Prime/get_biggest_prime_factor.rb, line 13 def biggest_prime_factor number = self while (factor = number.smallest_prime_factor) < number number /= factor end number end
Returns true if self is a composite number.
# File lib/rubysh_mathematica/Overloads/Integer/Prime/is_composite.rb, line 4 def composite? !prime? end
Returns true if self is a factor of number.
# File lib/rubysh_mathematica/Overloads/Integer/Multiples/is_factor_of.rb, line 4 def factor_of?(number) zero? ? number.zero? : (number % self).zero? end
Returns true if self is a multiple of number.
# File lib/rubysh_mathematica/Overloads/Integer/Multiples/is_multiple_of.rb, line 4 def multiple_of?(number) number.zero? ? zero? : (self % number).zero? end
Returns true if self is a prime number.
# File lib/rubysh_mathematica/Overloads/Integer/Prime/is_prime.rb, line 4 def prime? return false if [0, 1].include? self (2..Math.sqrt(self)).none? { |number| (self % number).zero? } end
Returns the smallest prime factor en.wikipedia.org/wiki/Prime_factor
The least prime factor is the least factor, as if the least factor was a composite number, the least prime factor would divide the original number.
# File lib/rubysh_mathematica/Overloads/Integer/Prime/get_smallest_prime_factor.rb, line 10 def smallest_prime_factor raise 'Number is less than 2' unless self >= 2 (2..Math.sqrt(self)).map do |number| return number if number.factor_of?(self) end self end