とりあえず11から17までPythonしてみました。17はかなりのクセ問でした。
Project Eulerでは、問題に正解すると他の人の解答を見ることができます。
つまり自分の拙さがはっきり証明されるのです。
たとえば・・・
--Problem 16--という問題。Newbie programmer(つまり自分)のコードは・・・
215=32768 であり、これの各数字の合計は 3+2+7+6+8=26 となる。
同様にして、2^1000 の各数字の合計を求めよ。
日本語訳から
def digit(x):
i = 1
while x/(10**i):
i+=1
return i
x = 2**1000
Ans = sum(x/(10**i)%10 for i in xrange(digit(x)))
というもの。しかし、とあるPythonistaのコードは・・・
一行かよ!Ans = sum(int(x) for x in str(2**1000))
数値を文字列に変換する、その発想はなかった。
Pythonistaまでの道のりは長い・・・
だんだん思い描いてたブログになってきたんダナ