プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問の1問目
1日1問ぐらいのペースで解いていきたい。
まず、1問目から普通に難しい・・・
これ、10分で解答せよって書いてあったけど、みんなできるのか?
Q.1 10進数で回文
10進数、2進数、8進数のいずれで表示しても回文となる数のうち、10進数の10以上で最小の値を求めてください。
9(10) = 1001(2) = 11(8)
()内は進数を表している
答え
num = 11 while true if num.to_s == num.to_s.reverse && num.to_s(8) == num.to_s(8).reverse && num.to_s(2) == num.to_s(2).reverse puts num break end num += 2 end
私は解けませんでしたよ。