阅读:1792回复:1
求数串的原始排列
求数串的原始排列
[题目] 前N个自然数排成一串: X1,X2,X3.....Xn 先取出x1,将x2,x3移到数串尾,再取出x4,将x4,x6移到数串尾,....... 类推直至取完. 取出的序列恰好是:1,2,3......n 要求输入N,求原来的数串的排列方式. [参考程序] var a:array[1..1000] of word; n,i,j,dep:word; begin write('N(1-1000)='); readln(n); if (n=0) or (n>1000) then begin writeln('Input error.'); readln; halt; end; fillchar(a,sizeof(a),0); a[1]:=1; dep:=1; for i:=2 to n do begin j:=3; while (j>0) do begin dep:=dep mod n+1; if a[dep]=0 then dec(j); end; a[dep]:=i; end; for i:=1 to n do write(a:5); writeln; readln; end. <img src="images/post/smile/dvbbs/em05.gif" /><img src="images/post/smile/dvbbs/em05.gif" /><img src="images/post/smile/dvbbs/em05.gif" /><img src="images/post/smile/dvbbs/em05.gif" /> |
|
|
1楼#
发布于:2004-06-03 11:34
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
|