[問題] 排列組合

看板C_and_CPP作者 (甜)時間15年前 (2010/11/28 17:57), 編輯推噓2(205)
留言7則, 5人參與, 最新討論串1/2 (看更多)
小妹這兩天在寫程式作業遇到一些困難 就是可怕的排列組合 要找C n取k的一串數值的加總 我現在把排列組合寫出來了 可是無法把重複的結果刪掉 比如說C 5 取4還是會印出5!個結果 不知道要怎麼辦>"< 以下是程式碼: #include <stdio.h> #include <stdlib.h> int next(int n, int current, int perm[]) { int i, collision; while (perm[current]++ < n) { collision = 0; for (i=0; i<current; i++) if (perm[current] == perm[i]) { collision = 1; break; } if (!collision) return 1; } perm[current] = 0; return -1; } void main() { int n,k , perm[30]={0}, current=0, solCount=0, i,j; double x[30]={0}, sum=0; scanf("%d%d",&n,&k); for(j=0;j<n;j++) scanf("%lf",&x[j]); while (current>=0) { current += next(n, current, perm); if (current == n) { solCount++; printf("\n%4d: ", solCount); for (i=0; i<k; i++) { printf("%.3f(%d) ", x[perm[i]-1], perm[i]); sum += x[perm[i]-1]; } printf("sum = %.3f", sum); current = n-1; sum = 0; } } printf("\nTotal %d permutations\n", solCount); system("pause"); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.100.160

11/28 17:59, , 1F
先說其實你們是姐妹! XD
11/28 17:59, 1F

11/28 18:43, , 2F
...是排列還是組合啊? 先講清楚,二樣東西不一樣的
11/28 18:43, 2F

11/28 19:33, , 3F
組合
11/28 19:33, 3F

11/28 22:46, , 4F
姊妹??
11/28 22:46, 4F

11/28 22:50, , 5F
rosemary0401 vs rosemary7962 0.0
11/28 22:50, 5F

11/28 23:27, , 6F
ID跟開頭的小妹...
11/28 23:27, 6F

11/28 23:51, , 7F
噫 我不是故意的>"<
11/28 23:51, 7F
文章代碼(AID): #1CyYU0S9 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1CyYU0S9 (C_and_CPP)