作者spider391 (小乖)
看板C_and_CPP
標題[問題] 組合數 enumeration 的泛化
時間Mon Jul 19 10:04:26 2010
C(5,3) 給一組合數 m,n 要能印出如下的結果 (順序不 care)
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
光是 C(5,3) 我可以用巢狀迴圈來達成
如下:
for(int i=3;i<6;i++)
for(int j=2;j<i ;j++)
for(int k=1;k<j;k++){
cout << k << " " << j << " " << i << " " << endl;
}
但若是給 general 的 m,n 來做有沒有甚麼好方法呢?
請各位大大提供一下意見~
謝謝
ps. 最終的目標是想用 template
template <int M,int N>
C(){} ...
直接搞定~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.172.74
推 LPH66:你需要遞迴 backtracking 07/19 10:10
→ x000032001:google是你的良伴= =a 07/19 10:22
→ spider391:謝謝 L 大 我試試看 07/19 10:53