php教程

超轻量级php框架startmvc

PHP实现的简单排列组合算法应用示例

更新时间:2020-03-21 08:27:39 作者:startmvc
本文实例讲述了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 排列 组合 算法