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

yipeiwu_com6年前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相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP正则删除html代码中a标签并保留标签内容的方法 原创

本文实例讲述了PHP正则删除html代码中a标签并保留标签内容的方法。分享给大家供大家参考,具体如下: 一、问题: 有HTML代码如: <div>欢迎访问【宜配屋www....

php+redis在实际项目中HTTP 500: Internal Server Error故障排除

问题描述 用户量快速增长,访问量在短时间内翻倍,由于前期容量规划做得比较好,硬件资源可以支撑,可是软件系统方面出现了大问题: 40% 的请求都会返回 HTTP 500: Internal...

php批量删除数据库下指定前缀的表以prefix_为例

如何用php批量删除数据库下所有前缀为prefix_的表。 例子,统一删除前缀为“prefix_”的表。 <?php //设置数据库连接信息。数据库服务器地址,数据...

php下尝试使用GraphicsMagick的缩略图功能

php下尝试使用GraphicsMagick的缩略图功能

常用的图片处理工具有GD,ImageMagick,GraphicsMagick等等。GD就是个阿斗,略过不提;ImageMagick是目前最流行的图片处理工具,它的功能非常丰富;Grap...

PHP实现15位身份证号转18位的方法分析

本文实例讲述了PHP实现15位身份证号转18位的方法。分享给大家供大家参考,具体如下:第一代身份证:15位身份证号码的意义1-2位省、自治区、直辖市代码; 3-4位地级市、盟、自治州代码;...