Pascal習題 求N個數的全排列

時間 2022-11-21 08:40:33

1樓:匿名使用者

var a:array[1..100] of longint;

n:longint;

b:array[1..100] of boolean;

procedure f(sum:longint);

var j:longint;

begin

if sum>n then begin

for j:=1 to n do write(a[j]); writeln;

end else

for j:=1 to n do

if b[j] then begin

b[j]:=false;

a[sum]:=j;

f(sum+1);

b[j]:=true;

end;

end;

begin

fillchar(b,sizeof(b),true); readln(n); f(1);

end.

思路:遞迴

2樓:匿名使用者

有資料範圍沒??

下面是沒採用高精度計算的全排列。

vari,n,m:integer;

a:array[1..9]of integer;

used:array[1..9]of boolean;

procedure try(m:integer);

var k:integer;

begin

if m>n then begin for i:=1to n do write(a[i],' ');writeln;end;

for k:=1to n do

begin

if used[k]then

begin

a[m]:=k;

used[k]:=false;

try(m+1);

used[k]:=true;

end;

end;

end;

begin

read(n);

fillchar(used,sizeof(used),true);

try(1);

end.

求PASCAL簡單程式,求乙個PASCAL簡單程式

var a longint begin read a if a 100 then writeln 1 else writeln 0 end.var a string begin readln a if a 100 then writeln 1 else writeln 0 end.這是我寫的,都對,...

pascal最大公因數,pascal求兩正整數的最小公倍數和最大公因數

數學題。輾轉相除法。例如兩個數,a和b。當a b時,a a mod b 當a 0時,b的值就是a和b的最大公因數,否則調換a,b的值,繼續操作。var m,n,r,t integer begin read m,n if m repeat r m mod n m n n r until r 0 wri...

求pascal中,and,or,xor,nor的運算符號分別

and是 or是 not是 xor沒有 這些奇怪的符號都是在數學中的應用 在pascal語言中 1就相當於true,0就相當於 false true and true true 即 1 and 1 1,在and的使用中,兩邊都為true則結果為true,否則為false 在or的使用中,兩邊有至少有...

求貪心演算法題(Pascal)

程式設計之美 裡面有一道買書問題的貪心演算法。題目是這樣的 在節假日的時候,書店一般都會做 活動。由於 哈利波特 系列相當暢銷,店長決定通過 活動來回饋讀者。上櫃的 哈利波特 平裝本系列中,一共有五卷。假設每一捲單獨銷售均需8歐元 如果讀者一次購買不同的兩卷,就可以扣除5 的費用,三卷則更多。假設具...

pascal問題 急求,pascal問題

首先是第乙個題目。這個題目叫m裡面選n個。首先這裡說明下 懂這個程式至少要幾個小時 我當時弄了一天才明白。這個我不會解釋表達無能只能你自己去領悟了。看你也可憐,幫你打。絕對手打不加點分對不起我 10分誰跟你做啊。constm 4 n 3 var a array 1.n of integer b ar...