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 相关文章推荐
PHP生成HTML静态页面实例代码
Aug 31 PHP
优化php效率,提高php性能的一些方法
Mar 24 PHP
解析php通过cookies获取远程网页的指定代码
Jun 25 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
php实现按照权重随机排序数据的方法
Jan 09 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
PHP实现动态执行代码的方法
Mar 25 PHP
php输出图像的方法实例分析
Feb 16 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 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 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
PHP编程一定要改掉的5个不良习惯
2020/09/18 PHP
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
python实现字符串和日期相互转换的方法
2015/05/13 Python
python中input()与raw_input()的区别分析
2016/02/27 Python
理解Python中的With语句
2016/03/18 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
职专应届生求职信
2013/11/16 职场文书
毕业生的自我评价
2013/12/30 职场文书
结对共建协议书
2014/08/20 职场文书
同事离别感言
2015/08/04 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
pt-archiver 主键自增
2022/04/26 MySQL