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


Posted in PHP onJune 20, 2017

本文实例讲述了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 相关文章推荐
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 PHP
sphinx增量索引的一个问题
Jun 14 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
Thinkphp关闭缓存的方法
Jun 26 PHP
PHPStrom中实用的功能和快捷键大全
Sep 23 PHP
PHP6新特性分析
Mar 03 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
Feb 11 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
php提交表单时保留多个空格及换行的文本样式的方法
Jun 20 #PHP
PHP中模糊查询并关联三个select框
Jun 19 #PHP
在laravel中使用Symfony的Crawler组件分析HTML
Jun 19 #PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 #PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 #PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 #PHP
Yii2 如何在modules中添加验证码的方法
Jun 19 #PHP
You might like
PHP控制网页过期时间的代码
2008/09/28 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
php两种无限分类方法实例
2015/04/21 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
javascript hasFocus使用实例
2010/06/29 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
python批量修改文件名的实现代码
2014/09/01 Python
python之super的使用小结
2018/08/13 Python
python递归全排列实现方法
2018/08/18 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
python随机模块random使用方法详解
2020/02/14 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
就业推荐表自我鉴定范文
2014/03/21 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
工作收入证明模板
2014/10/10 职场文书
如何写辞职书
2015/02/26 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
2021/04/06 Python
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
使用Python开发冰球小游戏
2022/04/30 Python
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python