GeeCON Prague 2014*
The moose likes Java in General and the fly likes euler 11 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

JavaRanch » Java Forums » Java » Java in General
Bookmark "euler 11" Watch "euler 11" New topic

euler 11

Randall Twede
Ranch Hand

Joined: Oct 21, 2000
Posts: 4347

i seem to be having a similar problem with this one as i had for euler 81
the answer is in the ballpark but is significantly less than correct answer. the other thing they have in common is they use the same method to populate the array(hence i suspect that method but see nothing wrong with it).

i get answer 51267216
correct answer is 70600674

an unrelated question. do you like the try catch block where it is, or do you think it would be better inside the readData() method?
i noticed i had an int called sum that is actually a product...i changed it.

Visit my download page
Greg Charles

Joined: Oct 01, 2001
Posts: 2853

I think you're missing a diagonal. One goes down-right and the other goes up-left, which are really the same thing from different ends. You want a down-right and a down-left.

Also, product, not sum!
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 39044
For this sort of thing, you always ought to write the algorithm on paper before trying any coding.
I don’t like that try-catch I am afraid.
You need a finally (or try-with-resources) to make sure the reader is properly closed. I don’t know whether you can use try-with-resources without a catch or finally following; I have never tried. You may have to re-throw the Exception; in fact, since you are not taking any action to recover from the Exception, you might as well re-throw it all the way to the main method and terminate the JVM.
Why on earth are you using String[][] arrays rather than int[][]? That is not the sort of thing Strings were intended for at all
Randall Twede
Ranch Hand

Joined: Oct 21, 2000
Posts: 4347

solved it, and #81 as well. i was missing a diagonal(in a way).
if(i - 3 < size && j - 3 >= 0)
should have been
if(i + 3 < size && j - 3 >= 0)
GeeCON Prague 2014
subject: euler 11