《ACM算法与数据结构设计》大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《ACM算法与数据结构设计》课程大作业报告

题目:五位以内的对称素数

学生姓名

班级学号

学生学院计算机软件学院

学生专业计算机科学与技术

联系电话

电子邮

指导教师

指导单位计算机学院软件工程系

日期2011.5.24

注意事项

(1)课程大作业从《ACM算法与数据结构设计》课程实验二(2011年4月19日)或实验三(2011年5月10日)中任选一个课题完成。(2)课程大作业内容包括课题名称、课题内容和要求、课题分析、概要设计、详细设计、测试数据及其结果分析、调试过程中的问题、参考资料列表、课程小结等。

(3)课程报告可以打印,也可以手写,但前面两页内容、大作业撰写纲要、课程小结不可遗漏和更换。

(4)课程小结给出ACM程序设计过程的收获、遇到的问题,遇到问题解决问题过程的思考、程序调试能力的思考等,需要手写签字。(5)课程大作业提交时间为2011年5月24日(第14周星期二)晚19:00~20:00,地点:计算中心A机房。

一、课题名称:

五位以内的对称素数

二、课题内容和要求:

题目:判断一个数是否为对称且不大于五位数的素数。

要求:判断输入的一组数据(正整数)是否是五位以内的对称素数,逐个判断并输出“yes”或“no”

三、课题分析:

定义两个函数分别判断数据是否为素数(bool isprime(int n)),是否是对称数(bool issym(int n));在main()函数中利用if()语句来判断该数据是否是五位以内的数。只有同时满足三个条件,才能判断一个数据是五位以内的对称素数,输出“yes”;否则输出“no”。

输入输出方案:

输入:

输入数据含有不多于50个的正整数(0

输出:

对于每个n,如果该数是不大于五位数的对称素数,则输出“Yes”,否则输出“No”。每个判断结果单独列一行。

四、概要设计:流程图:

五、详细设计:

源代码如下:

#include

using namespace std;

bool isprime(int n) //判断某数据是否是素数{

if (1==n)return 0;

for(int i=2;i*i<=n;i++)

if(n%i==0)

return 0;

return 1;

}

bool issym(int n) //判断某数据是否是对称数{

if(n<10)return 1;

if(n>=10 && n<100)

if(n/10==n%10)return 1;

if(n>=100 && n<1000)

if(n%10==n/100)return 1;

if(n>=10000 && n<100000)

if(n/1000==(n%10)*10+(n%100)/10)return 1;

return 0;

}

int main()

{

int n; while(cin>>n) {

if(n<100000 && isprime(n) && issym(n)) //三个条件判断某

数据是五位以内的对称素数

cout<<"Y es"<

else

cout<<"No"<

} return 0; }

六、测试数据及其结果分析:

七、调试过程中的问题

判断一个数据是否为对称数是采用数据分段的方式进行判断;

八、参考资料: C++教科书

输出样例: yes yes no

输入样例: 11 101 272

南京邮电大学《ACM算法与数据结构设计》

课程小结

学生姓名

班级学号

学生学院计算机软件学院

学生专业计算机科学与技术

电子邮件

指导教师

学期2010-2011-2

相关文档
最新文档