有n个加里森敢死队的队员要炸掉敌人的一个军火库,谁都不想去,队长加里森决定用轮回数数的办法来决定哪个战士去执行任务。规则如下:如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个编号为x的战士开始计数,当数到y时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第y时,此战士接着去执行任务。以此类推,直到任务完成为止。
加里森本人是不愿意去的,假设加里森为1号,请你设计一程序为加里森支招,求出n,x,y满足何种条件时,加里森能留到最后而不用去执行任务
使用语言: C / C++
主要数据结构采用链式结构存储
自拟1个实验实例验证程序正确性(即:n,x,y自拟)
以无歧义的陈述说明所选设计题目的任务,强调的是程序要做什么?明确规定:输入的形式和输出、值的范围;输出的形式;程序所能达到的功能;测试的数据:包括正确的输入和错误的输入及其相应的输出结果
问题解决的思路概述;说明程序中用到的所有数据结构类型的定义,主程序的流程以及各程序模块之间的层次(调用)关系
实现概要设计中定义所有数据类型,对每个操作只需要写出伪代码算法,画出函数的调用关系图
调试过程中遇到的问题并且是如何解决的以及对设计实现的回顾讨论和分析算法的时空分析(包括基本操作和主要算法的时空复杂度的分析)和改进设想经验和体会等
向用户说明如何使用你编写的程序,详细列出每一步的操作步骤
详细说明用于测试的实验实例,这里的测试实例应该完整和严格。并列出测试结果,包括输入的数据和相应的输出数据。
发送邮件:buptdatastruct2012@126.com
可自由分组,每组1-3人,每组一份
邮件标题:本组某一个同学学号+算法与数据结构实验报告(n)
附件:实验报告正文(.doc)+所有带详细注释的可读性好的源码文件(.cpp+.h)
电子邮件发送时请加上请求阅读收条,以便确认实验报告是否已经收到。
提交时间:某一章的实验报告应在本章内容结束后两个星期之内提交,逾期不交者不予批改和验收。
实验验收:验收时间另行通知,地点S205,要求每组自带PC和原程序。