用free pascal来编个程序求数串的原始排列,最好每部有分析
用free pascal来编个程序求数串的原始排列,最好每部有分析前N个自然数排成一串:X1,X2,X3…..Xn,先取出x1,将x2,x3移到数串尾,再取出x4,将x5,x6,x7移到数串尾,…….类推直至取完.取出的序列恰好是:1,2,3……n要求输入N,求原来的数串的排列方式.不要太多函数,看不懂感谢回答的人,我天灵盖掀了,自己做出了,分享var n,t,i,m,k,s:integer;var a,b,c:array [1..n] of integer;beginreadln(n); t:=0;for i:=1 to n doa[i]:=i;repeatinc(t);a[1]:=b[t];for i:= 2 to n doa[i-1]:=a[i];a[1]:=m; a[2]:=k;for i:=3 to n doa[i-2]:=a[i];s:=0;repeatinc(s);until a[s]=0;a[s]:=m; a[s+1]:=k;until t=n;for i:=1 to n doc[b[i]]:=i;for i:=1 to n dowrite(c[i],' ');end.
最佳回答
楼主,真是服了你,问题都描述不清楚。原题是每次将取走数的后面两个数移到末尾,哪来的x7?!解决这个问题可以用双向链表,然后按取数的逆规则运作就行了。program NumSort;const STEP = 2;type PRec = ^TRec; TRec = record data: Integer; prev: PRec; next: PRec; end;var n, i: Integer; head, tail, cur, p: PRec;begin Readln(n); if n
最新回答共有2条回答
-
2026-04-04 16:23:26外向的路灯
回复楼主,真是服了你,问题都描述不清楚。原题是每次将取走数的后面两个数移到末尾,哪来的x7?!解决这个问题可以用双向链表,然后按取数的逆规则运作就行了。program NumSort;const STEP = 2;type PRec = ^TRec; TRec = record data: Integer; prev: PRec; next: PRec; end;var n, i: Integer; head, tail, cur, p: PRec;begin Readln(n); if n
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
