如求:$arr = array(3,12,11,41);取出任意3个数的不重复组合的方法

解决方案 »

  1.   

    排列组合算法:
    http://hi.baidu.com/ctmaster/blog/item/f82fb7f10b58d9a3a40f52c0.html
      

  2.   

    组合不分顺序,相当于集合
    排序分顺序
    组合公式:C(M,N)
    排序公式:P(M,N)
      

  3.   

    看来你需要先补习一下数学了
    $arr = array(3,12,11,41);
    4中取3的组合只有:
    Array
    (
        [0] => Array
            (
                [0] => 3
                [1] => 12
                [2] => 11
            )    [1] => Array
            (
                [0] => 3
                [1] => 12
                [2] => 41
            )    [2] => Array
            (
                [0] => 3
                [1] => 11
                [2] => 41
            )    [3] => Array
            (
                [0] => 12
                [1] => 11
                [2] => 41
            ))
      

  4.   

    把array sort,并去掉重复值, 得到新数组, 随机产生一个数组范围内索引值, 从数组中弹出这个索引的数, 如此反复即可