Problem48
30分プログラム、その322。Problem48 - Project Euler。
次の式は、11 + 22 + 33 + ... + 1010 = 10405071317 である。
では、11 + 22 + 33 + ... + 10001000 の最後の10桁を求めよ。
正直にやったらどうなるんだろう、とRubyでワンライナーを書いたら解けてしまった。ま、これでいいか。
使い方
$ ruby -e "puts (1..1000).map{|n|n**n}.inject{|x,y|x+y}.to_s[-10..-1]" 9110846700
ソースコード
puts (1..1000).map{|n|n**n}.inject{|x,y|x+y}.to_s[-10..-1]