HELLO ! i have question.
having next things:
3:28
2:42
3:16
4:02
then i should somehow make a value of 10:46 of them, but i can only use one number for one time.
So no 2:42+2:42..
but this:
3:28+3:16+4:02=10:46
I dont understand algortihm for this, could anyone explain ? or how bruteforce way =\?
-----------------Unfinished example #1------------------------
public static string FunctionAlgorithm(string number) {
bool split = false;
string output = "";
List<int> numbers = new List<int>();
if ((split = number.Contains(":")))
{
string[] n = number.Split(new char[] { ':' });
for (int i = 0; i < n.Length; i++)
numbers.Add(Int32.Parse(n[i]));
}
else {
try
{
numbers.Add(Int32.Parse(number));
}
catch { return "error"; }
}
int random_num = 0;
int wantednumber = (numbers.Count > 1) ? numbers[1] : numbers[0];
int current = 0;
List<int> n1 = new List<int>();
List<string> finals = new List<string>();
while( current <= wantednumber ) {
random_num = (new Random(new Random(new Random().Next()).Next())).Next(1, wantednumber + 1);
if (random_num + current <= wantednumber && random_num != 0)
{
//n1.Add(current);
n1.Add(random_num);
current += random_num;
Console.WriteLine(current+"+"+random_num);
}
if (current >= wantednumber)
break;
} if (split)
{
wantednumber = numbers[0];
current = 0;
bool b = false;
while (current <= wantednumber)
{
random_num = (new Random(new Random(new Random().Next()).Next())).Next(1, wantednumber + 1);
if (random_num + current <= wantednumber && random_num != 0)
{
for (int i = 0; i < n1.Count; i++)
{
if (!finals.Contains((random_num + current) + ":" + n1[i]))
{
finals.Add((random_num + current) + ":" + n1[i]);
Console.WriteLine(current + "+" + random_num + " = " + (random_num + current) + ":" + n1[i]);
current += random_num;
b = true;
break;
}
if (b) { b = false; break; }
}
}
}
}
else
{
for(int i = 0; i < n1.Count; i++)
finals.Add(n1[i].ToString());
}
for (int i = 0; i < finals.Count; i++)
{
if (i < finals.Count - 1)
output += finals[i] + " + ";
else
output += finals[i] + " = " + number;
}
return output;
}