Just finished up Problem #13. Straight up brute force ran really well, but I figured I could save some cycles by only adding up the last 11 digits.
I ran this and #25 through ruby 1.8.6 and 1.9.1 and was suprised to see that it ran much slower in the newer version. Everything else I’ve tried has run much better.
Here are some numbers I found to be pretty indicative. Bummer.
$ time ruby 13.rb real 0m0.009s user 0m0.008s sys 0m0.000s $ time ruby1.9 13.rb real 0m0.026s user 0m0.020s sys 0m0.004s
Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.
input = File.new("files/13.txt", "r") total = 0 input.each do |i| total += i.slice(0..10).to_i end puts total.to_s.slice(0,10)