Answered! In the 20×20 grid below, four numbers along a diagonal line have been marked in red. …

Using Java to write a program that calculates the following :

In the 20x20 grid below, four numbers along a diagonal line have been marked in red. 08 02 22 97 38 00 40 00 75 04 05 07 78 52 2 50 77 91 08 69 48 04 56 62 00 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 32 56 71 37 02 36 91 22 31 16 63 89 4 92 36 54 22 40 40 28 66 33 13 80 84 20 35 17 12 500 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83
media%2Feb8%2Feb87f697-c3b9-4c49-a42b-b8
media%2F8bf%2F8bfbef14-91af-4c14-af06-ba

In the 20×20 grid below, four numbers along a diagonal line have been marked in red. 

Expert Answer

 import java.util.Random;

public class findMaxProduct {

public static long findMaximumProduct(int grid[][]) {
long maxProduct = 0;

for(int r=0; r < grid.length; r++) {

for(int c=0; c < grid[r].length; c++) {
long product;
// Check for horizontal row of 4 elements starting from this
if(grid[r].length > c+3) {
product = grid[r][c] * grid[r][c+1] * grid[r][c+2] * grid[r][c+3];
if(product > maxProduct)
maxProduct = product;
}

// Check for vertical col of 4 elements starting from this
if(grid.length > r+3) {
product = grid[r][c] * grid[r+1][c] * grid[r+2][c] * grid[r+3][c];
if(product > maxProduct)
maxProduct = product;
}

// Check for diagonal from top left to bottom right starting from this
if(grid.length > r+3 && grid[r].length > c+3) {
product = grid[r][c] * grid[r+1][c+1] * grid[r+2][c+2] * grid[r+3][c+3];
if(product > maxProduct)
maxProduct = product;
}

// Check for diagonal from top left to bottom right starting from this
if(0 < (r-3) && (c-3) > 0) {
product = grid[r][c] * grid[r-1][c-1] * grid[r-2][c-2] * grid[r-3][c-3];
if(product > maxProduct)
maxProduct = product;
}
}
}
return maxProduct;
}

public static void main(String[] args) {
int grid[][] = new int[20][20];
Random r = new Random();
System.out.println(“Grid is: “);
for(int i=0; i<20; i++) {
for(int j=0; j<20; j++) {
grid[i][j] = r.nextInt(50);
System.out.print(grid[i][j] + ” “);
}
System.out.println();
}

System.out.println(“The maximum prodcut with required criteria in given grid is: ” + findMaximumProduct(grid));
}

}

Still stressed from student homework?
Get quality assistance from academic writers!