有三个数组:NUM[0] = "12";
NUM[1] = "34";
NUM[2] = "56";怎么才可以算出他们的组合呢?应该是1.135
2.136
3.145
4.146
5.235
6.236
7.245
8.246
三个的我想用三个FOR应该就可以搞定但是如果是NUM[N]组的话又该怎么解决呢?请高手们给个提示

解决方案 »

  1.   

    int []num1=new int[N];
    int []num2=new int[N];
    int []num3=new int[N];
    for(int i=0;i<N;i++)
    {   
    string temp="";
    temp=num1[i].ToString();
    for(int j=0;j<N;j++)
    {
       temp=temp+num2[j].ToString();
    for(int k=0;k<N;k++)
    {
      temp=temp+num3[k].ToString();
    }
     }
     }
      

  2.   

    可能我没有表达的太清楚.
    我的意思是说NUM[0] = "12";
    NUM[1] = "34";
    NUM[2] = "56";
    ......
    NUM[N] = "abcd.....";这样怎么写算法?用递归如何实现呀?
      

  3.   

    对...递归...貌似学数据结构的时候想过一下...
    假设有N+1个元素,X[0...N],那么全排列就是从中取一个之后,剩下元素的全排列...
    而一开始取出的有N+1种取法...
    然后就可以递归了...