本文实例讲述了PHP实现的简单排列组合算法应用。分享给大家供大家参考,具体如下:一、
本文实例讲述了PHP实现的简单排列组合算法应用。分享给大家供大家参考,具体如下:
一、问题:
给你一个40斤的西瓜,给3个人分,有多少种分法?
二、PHP实现代码:
<?php
$aa = range(1,40);
$bb = array();
foreach($aa as $k=>$val){
foreach($aa as $v){
foreach($aa as $vl){
$sum = $val+$v+$vl;
if($sum == 40){
$bb[$k][0] = $val;
$bb[$k][1] = $v;
$bb[$k][2] = $vl;
}
}
}
}
echo '<pre>';
print_r($bb);
exit;
?>
运行结果如下:
Array
(
[0] => Array
(
[0] => 1
[1] => 38
[2] => 1
)
[1] => Array
(
[0] => 2
[1] => 37
[2] => 1
)
[2] => Array
(
[0] => 3
[1] => 36
[2] => 1
)
[3] => Array
(
[0] => 4
[1] => 35
[2] => 1
)
[4] => Array
(
[0] => 5
[1] => 34
[2] => 1
)
[5] => Array
(
[0] => 6
[1] => 33
[2] => 1
)
[6] => Array
(
[0] => 7
[1] => 32
[2] => 1
)
[7] => Array
(
[0] => 8
[1] => 31
[2] => 1
)
[8] => Array
(
[0] => 9
[1] => 30
[2] => 1
)
[9] => Array
(
[0] => 10
[1] => 29
[2] => 1
)
[10] => Array
(
[0] => 11
[1] => 28
[2] => 1
)
[11] => Array
(
[0] => 12
[1] => 27
[2] => 1
)
[12] => Array
(
[0] => 13
[1] => 26
[2] => 1
)
[13] => Array
(
[0] => 14
[1] => 25
[2] => 1
)
[14] => Array
(
[0] => 15
[1] => 24
[2] => 1
)
[15] => Array
(
[0] => 16
[1] => 23
[2] => 1
)
[16] => Array
(
[0] => 17
[1] => 22
[2] => 1
)
[17] => Array
(
[0] => 18
[1] => 21
[2] => 1
)
[18] => Array
(
[0] => 19
[1] => 20
[2] => 1
)
[19] => Array
(
[0] => 20
[1] => 19
[2] => 1
)
[20] => Array
(
[0] => 21
[1] => 18
[2] => 1
)
[21] => Array
(
[0] => 22
[1] => 17
[2] => 1
)
[22] => Array
(
[0] => 23
[1] => 16
[2] => 1
)
[23] => Array
(
[0] => 24
[1] => 15
[2] => 1
)
[24] => Array
(
[0] => 25
[1] => 14
[2] => 1
)
[25] => Array
(
[0] => 26
[1] => 13
[2] => 1
)
[26] => Array
(
[0] => 27
[1] => 12
[2] => 1
)
[27] => Array
(
[0] => 28
[1] => 11
[2] => 1
)
[28] => Array
(
[0] => 29
[1] => 10
[2] => 1
)
[29] => Array
(
[0] => 30
[1] => 9
[2] => 1
)
[30] => Array
(
[0] => 31
[1] => 8
[2] => 1
)
[31] => Array
(
[0] => 32
[1] => 7
[2] => 1
)
[32] => Array
(
[0] => 33
[1] => 6
[2] => 1
)
[33] => Array
(
[0] => 34
[1] => 5
[2] => 1
)
[34] => Array
(
[0] => 35
[1] => 4
[2] => 1
)
[35] => Array
(
[0] => 36
[1] => 3
[2] => 1
)
[36] => Array
(
[0] => 37
[1] => 2
[2] => 1
)
[37] => Array
(
[0] => 38
[1] => 1
[2] => 1
)
)
PHP
排列
组合
算法