组合算法的PHP解答方法

yipeiwu_com7年前PHP代码库
题目:组合算法:有一个数组a,有N 个元素,现在要求从中找出含有任意元素的所有组合个数。
解答:先看规律吧:
假设这个数组为array(1,2,3,4,5)那么M=5;
可能出现的组合为:
1个数字的组合个数: 5
2个数字的组合个数: 4+3+2+1
3个数字的组合个数: 3+2+1
4个数字的组合个数: 2+1
5个数字的组合个数: 1
很眼熟吧,就是一个逆序的9*9乘法表。除过第一行有M个组合外,其他的组合按乘法表来处理,2个FOR语句嵌套而已
代码:
复制代码 代码如下:

$c = 5;
$a = $c;
for($i=1;$i<=$c;$i++){
for($k=$c-$i;$k>0;$k–){
$a +=$k;
}
}
echo $a;

相关文章

php引用地址改变变量值的问题

复制代码 代码如下: <?php $foo = 'Bob'; // 将 'Bob' 赋给 $foo $bar = &$foo; // 通过 $bar 引用 $foo echo $f...

PHP5.5新特性之yield理解与用法实例分析

本文实例讲述了PHP5.5新特性之yield理解与用法。分享给大家供大家参考,具体如下: yield生成器是php5.5之后出现的,yield提供了一种更容易的方法来实现简单的迭代对象,...

php 浮点数比较方法详解

浮点数运算精度问题 首先看一个例子: <?php $a = 0.1; $b = 0.9; $c = 1; var_dump(($a+$b)==$c); var_dump...

PHP和Java 集成开发详解分析 强强联合第1/4页

时间一天天过去,这两个亮点也变得越来越亮,很快,它们受到了编程者的喜欢,于是有人有疑问了:要是它们两者相遇,会发生什么事情?有没有可能将它们的强项结合在一起呢? 尝试在PHP和Java之...

PHP zlib扩展实现页面GZIP压缩输出

要实现GZIP压缩页面需要浏览器和服务器共同支持,实际上就是服务器压缩,传到浏览器后浏览器解压并解析。浏览器那边不需要我们担心,因为现在绝大多数浏览器都支持解析GZIP过的页面。我们只要...