所以,您將得到10個號碼和你都應該選擇5個號碼出那些使得總量爲100總和5號= 100
現在,我顯然試圖用一個程序來解決它,用五個循環得到了明顯的解決方案。但我只想知道是否有任何有效的方法來做到這一點?
這裏是先生很明顯的:
static void Main(string[] args)
{
int[] a = { 2, 6, 10, 14, 18, 22, 26, 30, 34, 38 };
for (int f = 0; f < a.Length - 4; f++)
{
for (int s = f+1; s < a.Length - 3; s++)
{
for (int t = s+1; t < a.Length - 2; t++)
{
for (int fr = t + 1; fr < a.Length - 1; fr++)
{
for (int ft = fr + 1; ft < a.Length; ft++)
{
int sum = a[f] + a[s] + a[t] + a[fr] + a[ft];
Console.WriteLine(sum);
if (sum == 100)
{
Console.WriteLine("---------------------------------------");
Console.WriteLine(a[f]);
Console.WriteLine(a[s]);
Console.WriteLine(a[t]);
Console.WriteLine(a[fr]);
Console.WriteLine(a[ft]);
Console.WriteLine("---------------------------------------");
}
}
}
}
}
}
Console.ReadLine();
}
你忘了'python'標籤.. – 2013-03-14 13:26:04
你爲什麼把幾種不同的語言作爲標籤?你想要什麼答案? – Arran 2013-03-14 13:26:05
看起來像一個動態編程工作。也許是揹包問題的一個變種? – 2013-03-14 13:26:26