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编程中字符串处理的5个技巧小结
Nov 13 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
Feb 22 PHP
php preg_filter执行一个正则表达式搜索和替换
Feb 27 PHP
php之CodeIgniter学习笔记
Jun 17 PHP
php二维数组转成字符串示例
Feb 17 PHP
PHP5.3安装Zend Guard Loader图文教程
Sep 29 PHP
php获取textarea的值并处理回车换行的方法
Oct 20 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
php JWT在web端中的使用方法教程
Sep 06 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 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中实现图片的锐化
2006/10/09 PHP
php下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
详解element-ui日期时间选择器的日期格式化问题
2019/04/08 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
python发送HTTP请求的方法小结
2015/07/08 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
上班早退检讨书
2014/01/09 职场文书
会议活动邀请函
2014/01/27 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
消防安全标语
2014/06/07 职场文书
任命书标准格式
2015/03/02 职场文书