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.
NOTE: The first two lines in the file represent the numbers in the example given above.
p99()-> File=binary_to_list(element(2,file:read_file("base_exp.txt"))), Data=lists:map(fun(L)-> Line=string:strip(L), [A,B]=string:tokens(Line,","), {list_to_integer(A),list_to_integer(B)} end,string:tokens(File,"\r\n")), p99(1,Data,0,0). p99(_,[],BestLine,_)->io:format("~w~n",[BestLine]); p99(LineNum,[{Base,Exp}|Rest],BestLine,BestValue)-> MyVal=Exp*math:log(Base), case MyVal > BestValue of true-> p99(LineNum+1,Rest,LineNum,MyVal); false-> p99(LineNum+1,Rest,BestLine,BestValue) end.
def p99 vals=File.read("base_exp.txt").split("\n").map{|l|l.split(",").map{|i|i.to_i}}.map{|p|p[1]*Math.log(p[0])} puts 1+vals.index(vals.max) end