Problem 13

たまには違う言語もいいよね。

Problem 13 - PukiWiki

以下の50桁の数字100個の総和の上位10桁を求めよ。

37107287533902102798797998220837590246510135740250
46376937677490009712648124896970078050417018260538
74324986199524741059474233309513058123726617309629
...

簡単。

#!/usr/bin/ruby

sum = 0

STDIN.each {|l| sum += l.to_i}

puts sum.to_s[0..9]

えい。

% ./problem13.rb < problem13.txt
5537376230

おぉ。


もうちょい。非破壊的に。

#!/usr/bin/ruby

puts STDIN.inject(0) {|sum, l| sum + l.to_i}.to_s[0..9]

ファイルに対しても畳み込み出来るのか。スゲー。