Re: [問題] 請問有關"組合"的程式

看板Programming作者 (孤獨或類似的東西)時間17年前 (2006/10/22 10:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
#include <stdio.h> int array[7] = {1,2,3,4,5,6,7}; int m = 5, n = 3; // C(m,n) int *tmpArray; void pick(int allNum, int pickNum, int firstIndex); void main() { tmpArray = new int[n]; pick(m,n,0); } void pick(int allNum, int pickNum, int firstIndex) { if ( pickNum <= 0 ) { for( int j = n-1; j >= 0; j-- ) printf( "%d", tmpArray[j] ); printf("\n"); return; } for ( int i = firstIndex; i <= allNum-pickNum; i++ ) { tmpArray[pickNum - 1] = array[i]; pick( allNum, pickNum-1, i+1 ); } } ※ 引述《ssagit (ssagit)》之銘言: : ※ 引述《timemaker (超越取悅別人的心態)》之銘言: : : 我想寫一個程式: : : 可以列出所有的組合 : : 比如說: : : 有5個數字:1~5 : : 我想取任取3個數字的組合: : : 總共有10組 : : 就可以列出 : : (123)(124)(125)(134)(135) : : (145)(234)(235)(245)(345) : : 請問板上有人有寫過類似的程式嗎? : : 請教教我 : : 謝啦 : http://phpfi.com/148401 : 前陣子剛好幫別人寫過, : 和你要的結果差不多, : 只要輸出改一下就好了.... : 至於原理, 如果你會寫 1~5 的所有排列, : 你再問我吧.... : 如果不會, 請 Google「permutation 遞迴」, : 自己先找一些資料來看吧.... -- 我溺水了。 在我已經淹水的腦袋裡。 我沒有掙扎,因為我催眠自己是隻魚。 一隻不會游泳的魚。 於是我養了一隻魚。 在我已經淹水的腦袋裡。 『在腦袋裡養條魚』 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.165.110.200
文章代碼(AID): #15Ejf7KP (Programming)
文章代碼(AID): #15Ejf7KP (Programming)