组合算法的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;