File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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: 4351

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: 2968

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: 46337
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: 4351

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)
I agree. Here's the link:
subject: euler 11
It's not a secret anymore!