とりあえず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までの道のりは長い・・・
だんだん思い描いてたブログになってきたんダナ