休日のゴルフ
- Problem 16 - Project Euler
http://projecteuler.net/index.php?section=problems&id=16
2^15 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.
What is the sum of the digits of the number 2^1000?
たまたま見かけた問題。
# ググってみたら Project Euler にあったので、そこから引用しています。
2^15 = 32768 であり、これの各数字の合計は 3 + 2 + 7 + 6 + 8 = 26 となる。
同様にして、2^1000 の各数字の合計を求めよ。
ということですね。
% irb --simple-prompt >> "#{2**1000}".split(//).inject(0){|s,e|s+e.to_i} => 1366
とりあえず、答えとしては上記で求まるわけですが、これだと面白くもなんともないのでゴルフしてみました。
# ちなみに上のは 47 bytes です。
なんとか 30 bytes までは縮まりましたが、まだまだいけるものなのでしょうか??
あ、ruby 1.8.6 でやってます。
追記: 30 bytes はこんなの↓でした。 (^^;
% irb --simple-prompt >> a="#{2**1000}";a.sum-?0*a.size => 1366