Problem 99

[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 :slight_smile:

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