ホームページ > バックエンド開発 > PHPチュートリアル > デジタル結合アルゴリズムの解を見つける

デジタル結合アルゴリズムの解を見つける

WBOY
リリース: 2016-06-13 13:47:48
オリジナル
1166 人が閲覧しました

数字の組み合わせを求めるアルゴリズム
数字が 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));


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート