Sha256: 785d98a1fbba54249fe2ce3dc051a7d73cae30ac812c5e62cd6529ce230bba22
Contents?: true
Size: 841 Bytes
Versions: 4
Compression:
Stored size: 841 Bytes
Contents
# coding: utf-8 class Integer # A dihedral prime is a prime number that appears as itself or another prime # when rendered on a seven-segment display of a calculator and... # # * Rotated 180°. # * Mirrored. # * Rotated 180° and mirrored. # # For example, 120121 is a dihedral prime. It is 121021 when rotated, # 151051 (another prime) when mirrored, and 150151 when rotated and # mirrored. # # Returns true if self is a dihedral prime; false otherwise. # # 101.dihedral_prime? #=> true # 181.dihedral_prime? #=> true # 7.dihedral_prime? #=> false # def dihedral_prime? return false unless prime? and to_s.match(/^[01825]+$/) mirror = ->(n){ n.to_s.gsub(/([25])/){|orig| orig == '2' ? '5' : '2'}.to_i } [reverse, mirror[self], mirror[reverse]].all?(&:prime?) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
numb-0.152.0 | lib/numb/dihedral_prime.rb |
numb-0.138.0 | lib/numb/dihedral_prime.rb |
numb-0.125.0 | lib/numb/dihedral_prime.rb |
numb-0.114.0 | lib/numb/dihedral_prime.rb |