您的位置:首页 > 职场人生

1992年高级程序员下午试题2(数字排列)

2011-07-05 18:21 253 查看
阅读下列说明和流程图,回答问题 1 和 2 ,把解答写在答卷的对应栏内。

[说明]

流程图用来按递增顺序产生由数字1,2,3组成的非空序列。规定其产生的每个序列均不存在两个相同的相邻子序列。例如,该流程图产生的前五个序列为:

1

1 2

l 2 1

1 2 l 3

l 2 1 3 l

序列 1211,1212 等均因含有两个相同的相邻子序列,故未被流程图产生。

产生一个序列的方法是,在前一个合理的序列尾部之后添加数字 1,构成一个新序列,然后进行合理性检验。当新的序列不合理时,若新序列尾部为 1,则改为 2;若为 2,则改为 3,然后继续进行检验以寻求下一个合理的序列。当尾部已为 3 时,则删去该数字后,继续进行上述的更改和检验。

本流程图寻找长度小于等于N( 4≤N≤60 )的合理序列。二维数组 A 的每一行用于存放找到的一个序列,其中数组元素 A[I,61] 存放第 I 个序列的长度。

[问题1]

填充流程图中的 ①~⑤,使之成为完整的流程图。



[问题2]

现对流程图中虚线所围的部分给出了下·图所示的简化形式,试填充其中的 ③~⑧,使之成为正确的简化。



答案:

[问题1]

① A(3,61)→J ② I+1→I ③ A(I,J-T-S+1):A(I,J-S+1) ④ A(I,J)+1→A(I,J) ⑤ J→A(I,61)
[问题2]

⑥ A(I,J-T-S+1):A(I,J-S+1) ⑦ S:T ⑧ S+1→S
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: