+ -
当前位置:首页 → 问答吧 → 逻辑性问题:数字的组合

逻辑性问题:数字的组合

时间:2010-09-20

来源:互联网

有个问题,想问一下,有5、8或多个数字:1、2、3、4、5  或1、2、3、4、5、6、7、8,
现在想这样:
每三个数一组,程序怎么编写才能得出这些数字可以组成了多少组,每组数是由哪几个数字组成?
TKS

作者: huanghong   发布时间: 2010-09-20

在网上找了个函数,但有问题,各们大侠请看看


/**
    *   函数   combination
    *   功能   m取n的组合函数
    *   参数
    *      $ar   数组,原始数据
    *      $num   数值,每个组合的元素个数
    **/
if(!   function_exists( 'combination ')):
function   combination($ar,   $num)   {
                         $control   =   range(0,   $num-1);
                         $k   =   false;
                         $total   =   count($ar);
                         while($control[0]    <   $total-($num-1))   {
                                                 $t   =   array();
                                                 for($i=0;   $i <$num;   $i  )   $t[]   =   $ar[$control[$i]];
                                                 $r[]   =   $t;
 
                                                 for($i=$num-1;   $i> =0;   $i--)   {
                                                                         $control[$i]  ;
                                                                         for($j=$i;   $j <$num-1;   $j  )   $control[$j 1]   =   $control[$j] 1;
                                                                         if($control[$i]    <   $total-($num-$i-1))   break;
                                                 }
                         }
                         return   $r;
}
endif;
 
/**   示例   **/
print_r(combination(array(1,2,3,4,5),   3));

作者: huanghong   发布时间: 2010-09-20

干什么用的

作者: mofe   发布时间: 2010-09-20

相关阅读 更多

热门下载

更多