組合算法的PHP解答方法
更新時間:2012年02月04日 15:59:33 作者:
有一個數(shù)組a,有N 個元素,現(xiàn)在要求從中找出含有任意元素的所有組合個數(shù)
題目:組合算法:有一個數(shù)組a,有N 個元素,現(xiàn)在要求從中找出含有任意元素的所有組合個數(shù)。
解答:先看規(guī)律吧:
假設(shè)這個數(shù)組為array(1,2,3,4,5)那么M=5;
可能出現(xiàn)的組合為:
1個數(shù)字的組合個數(shù): 5
2個數(shù)字的組合個數(shù): 4+3+2+1
3個數(shù)字的組合個數(shù): 3+2+1
4個數(shù)字的組合個數(shù): 2+1
5個數(shù)字的組合個數(shù): 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;
解答:先看規(guī)律吧:
假設(shè)這個數(shù)組為array(1,2,3,4,5)那么M=5;
可能出現(xiàn)的組合為:
1個數(shù)字的組合個數(shù): 5
2個數(shù)字的組合個數(shù): 4+3+2+1
3個數(shù)字的組合個數(shù): 3+2+1
4個數(shù)字的組合個數(shù): 2+1
5個數(shù)字的組合個數(shù): 1
很眼熟吧,就是一個逆序的9*9乘法表。除過第一行有M個組合外,其他的組合按乘法表來處理,2個FOR語句嵌套而已
代碼:
復(fù)制代碼 代碼如下:
$c = 5;
$a = $c;
for($i=1;$i<=$c;$i++){
for($k=$c-$i;$k>0;$k–){
$a +=$k;
}
}
echo $a;
相關(guān)文章
PHP執(zhí)行zip與rar解壓縮方法實(shí)現(xiàn)代碼
PHP執(zhí)行zip與rar解壓縮方法 先放著,以后研究,有地方要用到。2010-12-12
swfupload 多文件上傳實(shí)現(xiàn)代碼
swfupload 采用flash+ajax方式上傳文件2008-08-08
解決File size limit exceeded 錯誤的方法
本篇文章是對File size limit exceeded 錯誤進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

