数字の組み合わせを求めるアルゴリズム
数字が 4 つあるとします
1,2,3,4
3 つの数字を並べる必要がありますが、繰り返すことはできません。
たとえば、組み合わせ: 123、124、134、234。
このうち、123の組み合わせは、213,312,321,132,231の組み合わせと同じです。
それを達成するにはどうすればよいですか?私は初心者です、オンラインで待っています、ありがとう!
-----解決策---------------------------- -
上記に誤りがあります
for($i=1;$i for($j=$i+1; $j for($k=$j+1;$k echo "$i,$j,$k
";
}
}
}
------解決策---------
/**
* 関数の組み合わせ
* 関数 m は n を組み合わせ関数として受け取ります
* パラメーター
* $ar 配列、元のデータ
* $num の値、各組み合わせの要素の数
**/
if(! function_exists( 'combination ')):
関数の組み合わせ($ar, $num) {
$control = range(0, $num-1);
$k = false; > $total = count($ar);
while($control[0] $t = array(); =0; $i =0; $i--) {
$control[$i]++; $j=$i; $j++) $control[$j+1] = $control[$j]+1;
if($control[$i] }
}
return $r;
}
endif
/**例 **/
print_r(array(1,2 , 3,4,5)、3));