Re: [問題] 請問有關"組合"的程式
#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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章