public static void Main()
int[,] triangle = { {1, 0, 0 , 0},
Console.Write(maxSum(triangle, 3));
static int maxSum(int[,] tri, int x)
for (int i = x - 1; i >= 0; i--)
for (int j = 0; j <= i; j++)
public static bool IsPrime(int integer)
for (int i = 3; i <= (int)Math.Floor(Math.Sqrt(integer)); i += 2)
private static void removePrime(ref int[,] TriangleMatrix)
for (int i = 0; i < TriangleMatrix.GetLength(0); i++)
for (int j = 0; j < TriangleMatrix.GetLength(0); j++)
if (TriangleMatrix[i, j] == 0)
else if (IsPrime(TriangleMatrix[i, j]))
TriangleMatrix[i, j] = 0;