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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
php实现Linux服务器木马排查及加固功能
Dec 29 PHP
php中 $$str 中 &quot;$$&quot; 的详解
Jul 06 PHP
php实现json编码的方法
Jul 30 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 PHP
PHP 对象继承原理与简单用法示例
Apr 21 PHP
php实现JWT验证的实例教程
Nov 26 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 strtotime函数详解
2009/12/18 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
基于php权限分配的实现代码
2013/04/28 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
通过隐藏option实现select的联动效果
2009/11/10 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
基于javascript实现句子翻牌网页版小游戏
2016/03/23 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
优秀教师单行材料
2014/12/16 职场文书
会计稽核岗位职责
2015/04/13 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
研讨会致辞
2015/07/31 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript