作者sunev (Veritas)
看板MATLAB
標題Re: [問題] 如何快速產生 6! * 3!的所有組合?
時間Mon Dec 4 01:10:12 2006
※ 引述《zxvc (zxvc)》之銘言:
: ※ 引述《zxvc (zxvc)》之銘言:
: : 修正版:
: : m=6;
: : n=3;
: : a=perms(1:m);
: : b=perms((m+1):(m+n));
: : br=size(b,1);
: : s1=repmat(['a repmat(b('],br,1);
: : s2=num2str((1:br)');
: : s3=repmat([',:),' num2str(size(a,1)) ',1);'],br,1);
: : s=[s1 s2 s3]';
: : eval(['[' s(:)' ']']);
: 精簡版:
: m=6;
: n=3;
: a=perms(1:m);
: b=perms((m+1):(m+n));
: s=num2str((1:size(b,1))',['a repmat(b(%d,:),' num2str(size(a,1)) ',1);'])';
: eval(['[' s(:)' ']']);
: 抱歉,這招太好用了,不得不貼出來。
[o,p]=meshgrid(1:length(b),1:length(a));
u=[a(p(:),:) b(o(:),:)];
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.58.22.41
1F:推 zxvc:讚 12/04 07:27
2F:推 Gwaewluin:超棒!<O> 12/04 11:42
3F:推 enigmachen:真神 幸好寫程式不是按字數收費,不然原po就虧死了 12/04 11:50
4F:推 kk123:( ̄▽ ̄#)﹏﹏ 大家都好厲害 12/04 12:24