已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘 要2求素数问题31数据结构设计32算法设计33函数流程图44调试测试运行45源程序5摘 要算法与数据结构在计算机科学与技术中,尤其是计算机软件设计中有着举足轻重的作用。其主要是讲述一个程序的逻辑结构和物理结构,及在已知结构上实现的算法,在设计程序时,我们应该首先考虑到我们要以怎样的逻辑结构来描述所要讨论的问题,且判断它的合理性,和可行性,为了能在计算机上实现问题的模拟实现,我们同时必须设计好在计算机上存储的物理结构,为了能够运行成功,必须要设计一套具有正确性,健壮性,可读性好的程序,来实现计算机上的模拟;其中算法,逻辑结构和物理结构相辅相成,任何一个环节出错都不能成功的完成问题在计算机上的模拟。程序如下:求解素数,运用埃拉托色尼筛法求解一定范围内的素数。埃拉托色尼筛法是建立一个2到N的表,在表中删除2的倍数,3的倍数,5的倍数,以此类推直到删除到,为止,表中都为素数。关键词: 素数 C语言 求素数问题埃拉托色尼筛法(Sieve of Eratosthenes)是一种用来求所有小于N的素数的方法。从建立一个整数2N的表着手,寻找i的整数,编程实现此算法,并讨论运算时间。1数据结构设计定义一个线性表链式存储结构,用来求所有小于N的素数typedef struct Node/定义链表int data;/存储数据struct Node *link;/定义指针指向下一个结点LinkList;2算法设计使用一个函数进行埃拉托色尼筛法,形参为建立的链表头节点和所求素数的范围最大值,没有返回值,函数对链表进行操作,从头节点开始读入数据删除其倍数,指针下移读入下一个数据,再删除其倍数,指针一直下移直到读入,停止下移,表中所有数据皆为素数。void eratosthenes(int max,LinkList *&head)/使用埃拉托色尼筛法筛选数字 LinkList *a,*b;a=head-link;for(;)if(a-datalink)if(b-link-data%a-data=0)b-link=b-link-link;b=b-link;a=a-link;else break;3函数流程图开始输入范围调用函数构建链表调用函数进行筛选数据调用函数输出链表结束图1-1 主程序运行图4调试测试运行1 提示输入素数的范围最大值时,输入300,打印出2-300内的所有素数,且统计素数个数为62.图1.2测试运行界面2 算法的时间复杂度O(N*lglgN)。5源程序#include#include#includetypedef struct Nodeint data;struct Node *link;LinkList;void buildList(int max,LinkList *&head)/构建链表函数 LinkList *l,*p;int i;head=(LinkList*)malloc(sizeof(LinkList);head-link=NULL;l=head;for(i=2;ilink=p;p-data=i;p-link=NULL;l=p;void eratosthenes(int max,LinkList *&head)/使用埃拉托色尼筛法 筛选数字 LinkList *a,*b;a=head-link;for(;)if(a-datalink)if(b-link-data%a-data=0)b-link=b-link-link;b=b-link;a=a-link;else break;void printList(LinkList *head)/输出链表 函数LinkList *q;int k=0;q=head-link;printf(范围内的素数有:);for(;)if(q=NULL)break;elseprintf( %d ,q-data);k+;q=q-link;printf(n 共有素数:%d 个,k);printf(n);int main()/主函数LinkList *head;int max;printf(使用埃拉托色尼筛法求素数n);printf(请输入要求素数的范围max=);scanf(%d,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招聘2024年中国残联直属单位招聘应届高校毕业生(99人)笔试历年参考题库典型考点附带答案详解
- 庆阳市2024甘肃庆阳市为环县融媒体中心招聘25人笔试历年参考题库典型考点附带答案详解
- 岳麓区2024湖南长沙市中南大学实验动物学部非事业编制工作人员招聘2人笔试历年参考题库典型考点附带答案详解
- 山东省2023年山东临沂兰陵县农业农村局招聘代理会计人员笔试历年参考题库典型考点附带答案详解
- 宜春市2024江西宜春经济技术开发区矛盾纠纷多元化解中心招聘笔试历年参考题库典型考点附带答案详解
- 宁夏2024年上半年宁夏职业技术学院宁夏开放大学公开招聘高层次人才笔试历年参考题库典型考点附带答案详解
- 天津市2024年天津市通信管理局所属事业单位公开招聘工作人员2人笔试历年参考题库典型考点附带答案详解
- 药品效期管理制度培训
- 光伏发电系统退出质保验收管理制度培训
- 某纺织厂原材料采购管理制度
- 2026年常州工业职业技术学院单招综合素质考试题库附答案详解(达标题)
- 2026河南三门峡市辖区法院省核定聘用制书记员招聘74人考试参考题库及答案解析
- 2026 年三八妇女节 普法宣传方案 课件
- 【新教材】人教PEP版(2024)四年级下册英语 Unit 1 Class rules A Lets talk 教案
- 第一单元 考虑目的和对象(课件)语文新教材统编版八年级下册
- 2026年春季小学科学人教鄂教版(2024)二年级下册教学计划含进度表
- 2026年乌兰察布职业学院单招综合素质考试题库及答案详解(各地真题)
- 2025年江西工业贸易职业技术学院单招职业技能考试题库带答案解析
- 2025年内蒙古机电职业技术学院单招职业适应性测试题库带答案解析
- 高频海事局面试题及答案
- 【MOOC】《大学物理的数学基础》(西南交通大学)章节期末慕课答案
评论
0/150
提交评论