組合算法的PHP解答方法
更新時間:2012年02月04日 15:59:33 作者:
有一個數(shù)組a,有N 個元素,現(xiàn)在要求從中找出含有任意元素的所有組合個數(shù)
題目:組合算法:有一個數(shù)組a,有N 個元素,現(xiàn)在要求從中找出含有任意元素的所有組合個數(shù)。
解答:先看規(guī)律吧:
假設這個數(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ù)組為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;
相關文章
PHP開發(fā)中常用的三個表單驗證函數(shù)使用小結
PHP Web開發(fā)中常用的三個表單驗證函數(shù),這些都是一些經(jīng)常用到的判斷函數(shù)。2010-03-03判斷Keep-Alive模式的HTTP請求的結束的實現(xiàn)代碼
在使用短連接方式時,每個HTTP請求對應一個TCP連接,請求完成后連接立即斷開,服務器返回EOF。2011-08-08