プログラマ脳を鍛える数学パズル Q1 10進数で回文

2018-08-07 23:30

はじめに

プログラマ脳を鍛える数学パズル という本を購入したので、これからちょいちょい自分が書いたコードをアップしていくこととする。

コード

class String
  def palindrome?
    self == self.reverse
  end
end

puts (10..Float::INFINITY)
       .lazy
       .select { |num| num.to_s.palindrome? && num.to_s(2).palindrome? && num.to_s(8).palindrome? }
       .first # => 585

おわりに

初日のコレは何度も書いたことがあるから、簡単だった。ちょっと遅延評価を使ったのは自慢している。ただ Ruby はもっと無限の書き方がきれいになればいいのにとは思う。

関連記事