软件设计师1990年下午试题5(流程图解析)

简介: 阅读下列说明和流程图。回答问题 1 和 2,把解答填入答卷的对应栏内。       有一个集合,集合中有 n 个元素,每个集合元素都是正整数,它们存放在一维数组A中,每个数组元素存放一个集合元素。对给定的整数 total(假定集合中每个元素的值均小于 total),流程图求出所有满足下列条件的子集:子集中各元素之和等于 total。

阅读下列说明和流程图。回答问题 1 和 2,把解答填入答卷的对应栏内。 

     有一个集合,集合中有 n 个元素,每个集合元素都是正整数,它们存放在一维数组A中,每个数组元素存放一个集合元素。对给定的整数 total(假定集合中每个元素的值均小于 total),流程图求出所有满足下列条件的子集:子集中各元素之和等于 total。 

本题在使用试探法找出全部解答的过程中,依次选取当前的候选元素,尝试组成一个小于 total 的部分和,如果合适,则选取下一元素试探;若不合适,则回溯取另一个候选元素尝试,题中利用 s 栈存放候单元素的下标,用它实现回溯。如果候选元素加上部分和等于 total ,则表示找到一个解答,然后通过回溯,再试探寻找其它的解答。
[问题1]

问流程图中的 ④ 应与 A~D 中的那一点相连,并填充图中的①~③,使之成为完整的流程图。
[问题2]

设 total=10,n=6,数组 A 中各元素的值为(8,4,1,2,5,3)。 

若图中的(1)框改为 sp:0,则执行该流程图后输出什么结果。 

[流程图] 

 

 

 

答案:

[问题1]

① i→s[sp] ② T+A[s[sp]]→T ③ s[sp]+1 ④ D
[问题2]

J=1时输出的解为:82

4123

415

253

J=2时输出的解为:4123

415

253

J=3时输出的解为:253

J=4时输出的解为:253

J=5,6时无解

相关文章
|
网络协议 PHP
软件设计师软考题目解析21 --每日五题
每日五题解析,包括海明码纠错、POP3协议通信模式、中断处理、HTML邮件链接创建和结构化开发方法中的接口设计等知识点。
118 1
|
算法 测试技术
软件设计师软考题目解析24 --每日五题
这篇文章提供了软件设计师软考的每日五题解析,包括测试用例设计、软件维护类型、路径覆盖测试、软件维护工具和系统改进等知识点。
207 0
软件设计师软考题目解析24 --每日五题
|
项目管理
软件设计师软考题目解析20之英语题
软件设计师软考中英语题目的解析和答题技巧,帮助考生攻克英语部分的题目。
203 0
软件设计师软考题目解析20之英语题
|
前端开发 数据处理
软件设计师软考题目解析23 --每日五题
每日五题解析,涉及结构化开发方法的特点、数据流图的基本加工、MVC体系结构的优点以及模块间耦合类型的判断等知识点。
122 0
|
算法 数据建模 数据库
软件设计师软考题目解析22 --每日五题
每日五题解析,涉及结构化开发方法中的接口设计依据、数据结构和算法设计、数据流图的使用场景、外部实体的识别以及决策树在数据流图中表示复杂条件逻辑的应用。
302 0
|
测试技术
软件设计师软考题目解析19 --每日五题
这篇文章提供了软件设计师软考的每日五题解析,包括白盒测试方法、回归测试、面向对象开发方法、总线复用方式和海明码纠错等知识点。
178 0
|
算法 Ruby
软件设计师软考题目解析18 --每日五题
这篇文章提供了软件设计师软考的每日五题解析,包括计算机指令周期、软件设计阶段、模块化原则、程序控制结构和软件项目规模确定等知识点。
545 0
|
8月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
778 29
|
8月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
270 4
|
8月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

推荐镜像

更多
  • DNS