Seiichi Yonezawa — How creativity is helped by failure

n進数を求める方法

最近リニューアルしてからというものの、ログインに失敗するようになりました。原因は幸いすぐ突き止めることができたのですが、キャッシュの中にcsrf_meta_tagsを入れてしまっていたようで、しかもキャッシュは開発環境では通常動かないのでデプロイしてからしばらく気づきませんでした。headタグはあまりキャッシュに適さないのかもしれませんね。

また、最近読書を進めている一貫として、以前Amazonで購入した本に「二進数、八進数、十進数の回文で10以下のもっとも少ない数字を求めよ」という問題がありました。なかなか手をつけずにいたのですが、その本の問題の中では最も簡単な問題のようで、これを解かなければ前にすすめないというわけ。

その本のタイトルは「プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問」というタイトルなので、数学に絡めた方法で解かなければならないのだと思い、RubyのNumeric#to_sでは与えた基数のn進数を求めることができたはず。でもそれを使うのはきっと違うのだろうと思い、飛行機の中でなんとか二進数の説明を読みながら二進数、八進数をそれぞれ求めるメソッドを見出しました。

しかーし、ようやく正解がわかって解答ページをめくってみたところ、Rubyやそれ以外の言語の10進数から2進数に変換するメソッドが解説されていてちょっと悲しくなってしまいました。とはいえ、まあ一番簡単な問題ですしね。思いの外解くのに四苦八苦しましたが、なんとか解けました。こういったクイズのようなプログラムも楽しめたらいいなと最近思い始めました。