110,535
社区成员
发帖
与我相关
我的任务
分享
int[] i = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
var query = from t in i from t1 in i where t + t1 == 20 && t < t1 select new { t, t1 };
DateTime dt1 = DateTime.Now;
double[] arr = new double[] { 1035.3, 257.67, 390, 296.64, 504, 613.56, 802.2, 1370.88, 316.1, 5.9, 291.33, 599.76, 68, 408, 756, 388.44, 578.34, 994.84, 649.74, 464.1, 77.47, 726.03, 340, 140.4, 952, 2223, 1404, 187.08, 1035.3, 140.42 };
Ocean o = new Ocean(arr, 504+408);
o.Build();
Console.WriteLine("用时:{0}毫秒" , (DateTime.Now - dt1).TotalMilliseconds);
int[] x = new int[20];
for (int i = 0; i < x.Length; i++)
x[i] = i + 1;
long start = 0;
long end = (long)Math.Pow(2, 20);
for (; start < end; start++)
{
int temp = 0;
for (int i = 0; i < 20; i++)
{
if(((start >> i) & 1) == 1)
{
temp += x[i];
}
}
if (temp == 20)
{
for (int i = 0; i < 20; i++)
{
if (((start >> i) & 1) == 1)
{
Console.Write("{0} ", x[i]);
}
}
Console.WriteLine();
}
}
Console.ReadLine();
int[] x = new int[20];
for (int i = 0; i < x.Length; i++)
x[i] = i + 1;
long start = 0;
long end = (long)Math.Pow(2, 20);
List<int> list = new List<int>(20);
for (; start < end; start++)
{
for (int i = 0; i < 20; i++)
{
if(((start >> i) & 1) == 1)
{
list.Add(x[i]);
}
}
if (list.Sum() == 20)
{
foreach (int p in list)
Console.Write("{0} ", p);
Console.WriteLine();
}
list.Clear();
}
Console.ReadLine();