queensf
总版主
总版主
  • 注册日期2003-12-04
  • 发帖数735
  • QQ
  • 铜币3枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1659回复:1

求数串的原始排列

楼主#
更多 发布于:2004-02-21 15:17
求数串的原始排列  
 
[题目]

前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" />
喜欢0 评分0
[color=blue][size=4][i][b][u] 【 解决不了的事情,就不要想。世界不会因为我而改变。 】 [/size][/u][/b][/i][/color]
queensf
总版主
总版主
  • 注册日期2003-12-04
  • 发帖数735
  • QQ
  • 铜币3枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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" />
[color=blue][size=4][i][b][u] 【 解决不了的事情,就不要想。世界不会因为我而改变。 】 [/size][/u][/b][/i][/color]
举报 回复(0) 喜欢(0)     评分
游客

返回顶部