Skip to content

Instantly share code, notes, and snippets.

@masahixixi
Created November 21, 2012 06:33
Show Gist options
  • Save masahixixi/4123392 to your computer and use it in GitHub Desktop.
Save masahixixi/4123392 to your computer and use it in GitHub Desktop.
ProjectEuler #11
number_split = Array.new
number_ary = Array.new
number_list = open("./problem11_num")
max = 0
ans = 0
while number_data = number_list.gets
number_split << number_data.chomp
end
(0..number_split.length - 1).each do |e|
number_ary << number_split[e].split(' ').map { |e| e.to_i }
end
(0..16).each do |x|
(0..19).each do |y|
ans = number_ary[y][x] * number_ary[y][x+1] * number_ary[y][x+2] * number_ary[y][x+3]
max = ans if ans > max
end
end
(0..19).each do |x|
(0..16).each do |y|
ans = number_ary[y][x] * number_ary[y+1][x] * number_ary[y+2][x] * number_ary[y+3][x]
max = ans if ans > max
end
end
(0..16).each do |x|
(0..16).each do |y|
ans = number_ary[y][x] * number_ary[y+2][x+2] * number_ary[y+2][x+2] * number_ary[y+3][x+3]
max = ans if ans > max
end
end
(0..16).each do |x|
(0..16).each do |y|
ans = number_ary[y][x+3] * number_ary[y+1][x+2] * number_ary[y+2][x+1] * number_ary[y+3][x]
max = ans if ans > max
end
end
p max
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment