[quote]Comparing two numbers written in index form like 211 and 37 is not difficult, as any calculator would confirm that 211 = 2048 37 = 2187.
However, confirming that 632382518061 519432525806 would be much more difficult, as both numbers contain over three million digits.
Using base_exp.txt (right click and ‘Save Link/Target As…’), a 22K text file containing one thousand lines with a base/exponent pair on each line, determine which line number has the greatest numerical value.[/quote]
niezbyt mialem pomysl i troche pogrzebalem. okazuje się że wystarczy skorzystać z prostej własności matematycznej
log(a^x) = x*loga
nums = []
file = File.new("base.txt", "r")
while (line = file.gets)
nums << line.split(",").map{|x| x.to_i}
end
puts nums.index(nums.sort{|x,y| y[1] * Math.log(y[0]) <=> x[1] * Math.log(x[0]) }[0])+1