日期:2014-05-18  浏览次数:20966 次

求教一个类似于算法的问题...
怎样让一个数组里面的每个元素和一个数字匹配?
比如:
  int[] i = new int[]{1,3,5,7,9};
可以和100匹配:
  1,100,5,7,9
  1,100,100,7,9
  1,100,100,100,9
  1,100,100,100,100
  100,3,5,7,9
  100,100,5,7,9
  ......
就是穷举所有的匹配结果.
请高手指教....

------解决方案--------------------
C# code
private void button1_Click(object sender, EventArgs e)
{
    int[] i = new int[] { 1, 3, 5, 7, 9 };
    for (int j = 0; j < 2 << i.Length - 1; j++)
    {
        for (int k = 0; k < i.Length; k++)
        {
            if (k > 0) Console.Write(",");
            if ((j >> k & 1) == 1)
                Console.Write(100);
            else Console.Write(i[k]);
        }
        Console.WriteLine();
    }
}