2012年7月14日土曜日

Project Euler-Problem16をgroovyで解いてみる

問題

15 = 32768 であり、これの各数字の合計は 3 + 2 + 7 + 6 + 8 = 26 となる。

同様にして、21000 の各数字の合計を求めよ。

問題を解いたプログラム

クロージャがあるから簡単にかけてますが、JavaのAPIを使っているだけです。
import java.text.DecimalFormat

def format = new DecimalFormat("#")
println format.format(new BigInteger(2).pow(1000)).collect {Integer.valueOf(it)}.sum()

7/16:足し込むところを、collectionのsum関数を使うように変更。