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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

详谈phpAdmin修改密码后拒绝访问的问题

如下所示: phpMyadmin没配置正确,打开 phpMyadmin 目录找到config.inc.php文件,查找到$cfg['Servers'][$i]['password']='...

ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法

ThinkPHP的数据库条件查询语句有字符串式,数组式书写方法 字符串式即是原生式,数组式查询语句因书写方式与特定字符的原因比较复杂,下面为大家例出了常用的ThinkPHP数组式查询语句...

php生成gif动画的方法

首先需要确认GD库是否正常,如果是合成图片,请确保把分解的图片放在frames的文件夹里面。 GIFEncoder.class.php 类 <? Class GI...

php搜索文件程序分享

php搜索文件程序分享

对于本地,我们可以利用windows自带的查找去进行查找,但是对于线上的话,如查找ftp空间里面文件,本程序是很有用的。 php文件查找器源码: <html> <...

写出高质量的PHP程序

一、安全 无论程序写的如何,首先安全是第一位的,没有安全保障的程序根本不能谈高质量。 二、稳定 无论你代码写的再烂,必须要能稳定运行。 三、用户体验 用户的体验直接决定着一个程序的命运,...