I have a function which gets 7 integers in parameters, should check all possible combinations of 5 numbers (using these 7 numbers) and return true if at least 1 combination of 5 numbers is equal to 100.
That is how I managed to get this done, I feel my way is bad and completely inefficient. It takes few seconds to run such a simple task, which shows how badly I wrote this. If possible I would like to get some advices about finding the proper way of doing it, I guess I need to replace nested loops by something else, more efficient.
private bool test_condition_equal100(int number1, int number2, int number3, int number4, int number5, int number6, int number7)
{
List<int> totalnumbers = new List<int>()
{
number1,number2,number3,number4,number5,number6,number7
};
for(int i = 0; i < 7; i++)
{
for (int j = 0; j < 7; j++)
{
for (int k = 0; k < 7; k++)
{
for (int l = 0; l < 7; l++)
{
for (int m = 0; m < 7; m++)
{
if ((totalnumbers(i) + totalnumbers(j) + totalnumbers(k) + totalnumbers(l) + totalnumbers(m) == 100))
{
return true;
}
}
}
}
}
}
return false;