测试一下你的编程思想。。
求M个数字中的N个数字的排列组合,如输入一组数字为:1   2   3   4   5,求其中3个的排列组合,输出:1 2 3,1 2 4,1 2 5,1 3 4,1 3 5,1 4 5,2 3 4,2 3 5,2 4 5,3 4 5 
 如果随便输入的一组数字,并输入一个在这组数字长度内的数字,输出它们的排列组合,会的把你们写的代码贴上来。。。看一下你们的编程思想。。。。
------解决方案--------------------http://www.google.com/search?hl=en&q=combination+algorithm   
 http://www.codeproject.com/cpp/CombC.asp
------解决方案--------------------这是一个组合的问题吧。 
 M个数是可能是没有规律,但是把M个数据赋值给一个大小为M的数组,就能对M个数进行组合。 
 比如说:2,4,9,10;4个数字。取两个两个的组合。//设为D[]={2,4,9,10} 
 2,4  2,9, 2,10  //D[0],D[1]  D[0],D[2]  D[0],D[3] 
 4,9  4,10  //D[1],D[2]  D[1],D[3] 
 9,10 //D[2],D[3]     
 //C#: 
 static void FunctionA(int[] data, int N) 
         { 
             Console.WriteLine( "M has {0} members;N is {1}.\n ",data.Length,N);               
             for (int i = 0; i  < data.Length - N + 1; i++) 
             {                   
                 for (int j = i; j  < data.Length - N + 1;j++ ) 
                 { 
                     if (j != i) 
                         Console.Write( " ; "); 
                     Console.Write( "{0}  ",data[i]); 
                     for (int k = 1; k  < N; k++) 
                         //输出单个N数组。因为前面已经把第一个数字输出。 
                         //后面只输出N-1个数 
                     { 
                         Console.Write( "{0}  ", data[j+k]);                           
                     }                  
                 } 
                 Console.Write( "\n "); 
             }   
         }   
------解决方案--------------------public void CombinationCollocate( 
     string ANumbers,  
     string APath,  
     int ALen) 
 { 
     if (APath.Length > = ALen) 
     { 
         Console.WriteLine(APath); 
         return; 
     } 
     for (int i = 0; i  < ANumbers.Length; i++) 
     { 
         string vNumbers = ANumbers.Remove(i, 1); 
         CombinationCollocate(vNumbers, APath + ANumbers.Substring(i, 1), ALen); 
     } 
 } /* CombinationCollocate  */   
 private void button1_Click(object sender, EventArgs e) 
 { 
     CombinationCollocate( "12345 ",  " ", 3); 
 }     
 ------- 
 123 
 124 
 125 
 132 
 134 
 135 
 142 
 143 
 145 
 152 
 153 
 154 
 213 
 214 
 215 
 231 
 234 
 235 
 241 
 243 
 245 
 251 
 253 
 254 
 312 
 314 
 315 
 321 
 324 
 325 
 341 
 342 
 345 
 351 
 352 
 354 
 412 
 413 
 415 
 421 
 423 
 425 
 431 
 432 
 435 
 451 
 452 
 453 
 512 
 513 
 514 
 521 
 523 
 524 
 531 
 532 
 534 
 541 
 542 
 543