public static void Main()
int[] arr = { 1, 4, 6, 2, 3, 8 };
int res = CountTriplets(arr,arr.Length,sum);
int res2 = CountTriplets2(arr,arr.Length,sum);
Console.WriteLine("Bug Func res: " + res);
Console.WriteLine("Fixed Func res: " + res2);
static int CountTriplets(int[] arr, int n, int tripletSum)
for (int i = 0; i < n - 2; i++)
if(tripletSum % arr[i] == 0)
for (int j = 0; j < n - 1; j++)
if(tripletSum % (arr[i] * arr[j]) == 0)
int value = tripletSum /(arr[i] * arr[j]);
for (int k = j + 1; k < n; k++)
static int CountTriplets2(int[] arr, int n, int tripletSum)
for (int i = 0; i < n - 2; i++)
if(tripletSum % arr[i] == 0)
for (int j = i + 1; j < n - 1; j++)
if(tripletSum % (arr[i] * arr[j]) == 0)
int value = tripletSum /(arr[i] * arr[j]);
for (int k = j + 1; k < n; k++)