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 相关文章推荐
php4的彩蛋
Oct 09 PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
PHP反转字符串函数strrev()函数的用法
Feb 04 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
两款万能的php分页类
Nov 12 PHP
PHP内置加密函数详解
Nov 20 PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 PHP
解决在laravel中auth建立时候遇到的问题
Oct 15 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
Jan 07 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
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python中根据字符串调用函数的实现方法
2016/06/12 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Python3的socket使用方法详解
2020/02/18 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
中英文自我评价语句
2013/12/20 职场文书
个人简历中自我评价
2014/02/11 职场文书
建议书的格式
2014/05/12 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
保护环境的宣传语
2015/07/13 职场文书