プログラマ脳を鍛える数学パズル Q1 10進数で回文
はじめに
プログラマ脳を鍛える数学パズル という本を購入したので、これからちょいちょい自分が書いたコードをアップしていくこととする。
コード
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 はもっと無限の書き方がきれいになればいいのにとは思う。
関連記事
- Ruby で (a ==1 && a== 2 && a==3) は true となるか?
- 「プロを目指す人のためのRuby入門」の勉強 <Chapter.3>
- 数学パズル Q3 カードの裏返せ
- Rails のマイグレーションで FK に uuid を設定するときの事例について
- 「プロを目指す人のためのRuby入門」の勉強 <Chapter.2>
- Rails で id を PK とせずに従属テーブルに FK を設ける方法
- JekyllでPostに対するパンくずリストを作った
- 「プロを目指す人のためのRuby入門」の勉強 <Chapter.4> その1
- 「プロを目指す人のためのRuby入門」の勉強 <Chapter.4> その2
- 「プロを目指す人のためのRuby入門」の勉強 <Chapter.5> その2
- LP3HW Ex 26.の自分なりの答え