Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
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
Author

euler 11

Randall Twede
Ranch Hand

Joined: Oct 21, 2000
Posts: 4347
    
    2

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.


SCJP
Visit my download page
Greg Charles
Sheriff

Joined: Oct 01, 2001
Posts: 2861
    
  11

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
Sheriff

Joined: Oct 13, 2005
Posts: 39877
    
  28
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
    
    2

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)
 
jQuery in Action, 2nd edition
 
subject: euler 11