C++程序设计:筛选法求素数(谭浩强完整版)
需积分: 10 83 浏览量
更新于2024-08-24
收藏 8.66MB PPT 举报
"该资源是关于C++程序设计的教程,由谭浩强编著,内容涵盖C++语言的基础和应用。课程通过筛选取法演示如何找出2至200之间的所有素数,强调了算法在编程中的重要性。筛选法(筛法)通过将数组中的非素数标记为0,最终输出未被标记的数字,即素数。教程还简述了C++语言的发展历史,以及C语言的主要特点,包括结构化、高效性、可移植性和相对宽松的语法,但也指出这对初学者来说可能更具挑战性。"
在C++编程中,筛选取法(Sieve of Eratosthenes)是一种经典的算法,用于找出一定范围内所有的素数。这个方法的核心思想是从最小的素数2开始,剔除它的所有倍数,然后找到下一个未被剔除的数(在这个例子中是3),继续剔除它的倍数,以此类推,直到遍历到范围的平方根。在这个过程中,对于每个数i,如果它没有被标记为非素数(即数组中的值为非0),那么它就是一个素数。
在提供的示例中,首先初始化一个从2到200的数组,然后按照筛选法的步骤进行操作:
1. 从2开始,将其所有倍数标记为0(非素数)。
2. 接下来是3,同样的,将3的所有倍数(除了3本身)标记为0。
3. 继续这个过程,依次检查未被标记的下一个数5、7、9(虽然9=3*3,之前已经被处理过)等,直到达到200的平方根,即约14.14,实际操作中我们会取整到14,因为大于14的数不会是200以内小于14的数的倍数。
最后,数组中未被标记为0的数就是2到200之间的素数。这种算法的效率较高,因为它避免了对每个数进行因数分解,而是基于数的倍数性质来判断其素数状态。
C++语言起源于C语言,由Bjarne Stroustrup在1980年代初设计,目的是增强C语言的功能,引入了面向对象编程的概念,支持类、模板、异常处理等特性,同时保持了C语言的底层控制能力和高效性。C++至今仍然是广泛使用的编程语言,尤其在系统编程、游戏开发、高性能计算等领域有着重要应用。
C语言的主要特点包括:
1. 结构化编程:C语言鼓励使用函数和结构体,使得代码组织有序,易于理解和维护。
2. 高效性:C语言编译后的代码接近机器码,运行速度快,适合编写系统级和性能敏感的应用。
3. 可移植性:C语言的源代码在不同平台上的可移植性很高,因为它是编译型语言,只需针对目标平台重新编译即可。
4. 语法灵活性:C语言的语法较为宽松,允许程序员有较大的自由度来设计程序,但也因此对初学者有一定难度。
学习C++或C语言时,理解筛选法这样的基础算法,以及熟悉语言的这些特性,对于成为一名熟练的程序员至关重要。虽然调试可能较为复杂,但深入学习和实践可以帮助克服这一挑战。
2012-12-12 上传
2020-04-24 上传
2012-10-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
白宇翰
- 粉丝: 31
- 资源: 2万+
最新资源
- testlnk-易语言
- 0556、计数器电路应用于自行车.rar
- Sachithanantham-P
- Fizzbuzz-extreme
- react-gifexpertapp:Buscador de Gifs con api Giphy
- 辰曦机器人官网源码含辰曦机器人.zip
- osiris-output:用于可视化Osiris仿真代码结果的脚本
- 易语言3D号码走势分析-易语言
- dos_good_payoff:对以下三个领域的绩效与薪酬之间关系的调查:商业,体育和高等教育
- 用PHP编写HTML到Markdown转换器 Markdownify-开源
- Site_Pessoal
- 0529、人体接近监测.rar
- will-exo2
- Age-Calculator
- GGJ15:2015 年全球游戏果酱
- libOpenSRTP-开源