Sha256: 1ae35e411a7d72e9ae999358b23fa8ec5919c011b8bab6d1f6bade6470a004f4
Contents?: true
Size: 581 Bytes
Versions: 9
Compression:
Stored size: 581 Bytes
Contents
require 'prime' class Integer def primorial? return true if self == 1 pd = prime_division (pd.map{|b,e| e}.uniq == [1]) and (pd.map{|b,e| b} == Prime.first(pd.size)) end def primorial_product? return true if primorial? return false if prime? divisors.each_slice(2). reject{|pair| pair == [1, self]}. any?{|pair| pair.all?(&:primorial_product?)} end def primorial return nil if self < 1 return 1 if self == 1 if prime? self * (self - 1).primorial else (self - 1).primorial end end end
Version data entries
9 entries across 9 versions & 1 rubygems