[問題] 所有組合
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C
問題:3個顏色不同的球,放入3個不同盒子(盒子可重複放入),求所有組合?
以下為本魯的程式碼
#include<stdio.h>
#include<stdlib.h>
main(){
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
for(int k=1;k<=3;k++){
printf("i=%d j=%d k=%d\n",i,j,k);
}
}
}
system("pause");
}
本魯想問的是
雖然我的程式碼可以得到我想知道的答案
但如果當球的數量變多(EX:20顆顏色不同的球)
不會就要傻傻的寫20個for吧
時間複雜度感覺也很不優
搜尋板上先前的文章
有提到 Backtracking 演算法 跟 排列遞回寫法
可是感覺又跟我的問題不太像
所以
想請問各位先進
有沒有什麼比較好的寫法
可以解決相關的問題?
提供個思考方向給本魯就好
本魯會自己實作的
先謝謝各位大大了!
第一次發文 有違反板規 請告知
thx
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.90.92
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1406964375.A.B8D.html
→
08/02 15:43, , 1F
08/02 15:43, 1F
→
08/02 16:02, , 2F
08/02 16:02, 2F
→
08/02 16:02, , 3F
08/02 16:02, 3F
→
08/02 16:03, , 4F
08/02 16:03, 4F
→
08/02 16:12, , 5F
08/02 16:12, 5F
推
08/02 19:28, , 6F
08/02 19:28, 6F
→
08/02 19:29, , 7F
08/02 19:29, 7F
→
08/02 19:34, , 8F
08/02 19:34, 8F
推
08/04 08:23, , 9F
08/04 08:23, 9F
→
08/04 08:23, , 10F
08/04 08:23, 10F
→
08/04 15:45, , 11F
08/04 15:45, 11F
推
08/04 19:07, , 12F
08/04 19:07, 12F