求助pascal 排列與組合是常用的數學方法,其中組合就

時間 2021-08-13 03:18:25

1樓:123456我i擬

const mix=21; //題意如此,暫且限定到這。

varn,m,d,r,i,z,c:integer;

q:array[0..mix] of 0..1;

a:array[0..mix] of integer;

procedure print;

var i,j:integer;

begin

for i:=1 to r do

write(a[i]:3); // 題意如此往往容易忽視.

writeln;

end;

function panding(l,m:integer):boolean;

vari,j:integer;

begin

panding:=true;

for i:=1 to m-1 do

begin

if a[i]=l then begin panding:=false; exit; end;

if a[i]>l then begin panding:=false; exit; end;

end;

end;

procedure try (k:integer);

var i,j,l:integer;

begin

for j:=a[k-1] (1)to n doif (panding(j,k))and (q[j]=0) thenbegin

a[k]:=j;

q[j]:=1;

if k=r then begin print endelse try(k+1);

q[j]:=0;

end;

end;

begin

assign(input,'compage.in');

reset(input);

assign(output,'compage.out');

rewrite(output);

read(n,r);

if (n=0) or (r=0) thenhalt; //注意邊界.

for i:=1 to n do

begin

q[i]:=0;

a[i]:=0;

end;

a[0]:=1;

try(1);

close(input);

close(output);

end.

2樓:

啊哈,此乃全排列是也!遞推遞迴都可以

排列與組合 有序與無序,排列組合怎麼區分有序和無序?

經過前面的學習我們知道排列與組合的共同點是從n個不同的元素中,任取m m n 個元素,而不同點是排列是按照一定的順序排成一列,組合是無論怎樣的順序併成一組,因此 有序 與 無序 是區別排列與組合的重要標誌 下面通過例項來體會排列與組合的區別 例題 判斷下列問題是排列問題還是組合問題?並計算出種數 1...

數學排列和組合練習題目,數學排列與組合題目

第一題,用1,3,5做末位,有3種方法,然後首位有4種選擇,答案3 4 4 3 2 288個 第二題,分兩類,即0做末位,結果是4 3 12個,若2或4作末位,有2 3 3 18個,所以答案是12 18 30個。第一題 當首位是1 3 5時,末位只有兩種選擇 因為是奇數 中間三位從四個數裡選三個排,...

高中數學排列與組合

首位是3 末位0,2或4共有3 3!18個五位數。首位是4 末位是0或2共有2 3 12個五位數首位是2如下 23140,23410,23014,23104,24130,24310,21304,21340,21430共9個五位數 合起來共39個五位數滿足條件。偶數在這裡只有三種情況,分別是0,2,4...