C++之算法设计与实现课件.pptx

C++之算法设计与实现课件.pptx

ID:57292379

大小:458.00 KB

页数:11页

时间:2020-08-10

C++之算法设计与实现课件.pptx_第1页
C++之算法设计与实现课件.pptx_第2页
C++之算法设计与实现课件.pptx_第3页
C++之算法设计与实现课件.pptx_第4页
C++之算法设计与实现课件.pptx_第5页
资源描述:

《C++之算法设计与实现课件.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、■算法设计与实现算法设计与实现构造算法解决问题按照自顶向下、逐步求精的方式进行使用程序设计语言编程实现典型示例素性判定问题最大公约数问题■素性判定问题判断给定的某个自然数n(大于2)是否为素数算法逻辑输入:大于2的正整数n输出:该数是否为素数,若为素数返回true,否则返回false步骤1:设除数i为2步骤2:判断除数i是否已为n,若为真返回true,否则继续步骤3:判断n%i是否为0,若为0返回false,否则继续步骤4:将除数i递增,重复步骤2■素性判定函数第一版验证其为算法:对照算法五个基本特征证明算法正确测试算法boolIsPrime(uns

2、ignedintn){unsignedinti=2;while(i

3、i=3;if(n%2==0)returnfalse;while(i<=(unsignedint)sqrt(n)){if(n%i==0)returnfalse;i+=2;}returntrue;}第三版有什么改进?■素性判定函数第四版boolIsPrime(unsignedintn){unsignedinti=3;if(n%2==0)returnfalse;while(i<=(unsignedint)sqrt(n)+1){if(n%i==0)returnfalse;i+=2;}returntrue;}第四版有什么改进?■素性判定函数第五版boolIsP

4、rime(unsignedintn){unsignedinti=3,t=(unsignedint)sqrt(n)+1;if(n%2==0)returnfalse;while(i<=t){if(n%i==0)returnfalse;i+=2;}returntrue;}第五版有什么改进?■算法选择算法选择的权衡指标正确性:算法是否完全正确?效率:在某些场合,对程序效率的追求具有重要意义可理解性:算法是否容易理解,也是必须要考虑的算法评估:衡量算法的好坏,主要是效率■最大公约数问题求两个正整数x与y的最大公约数函数原型设计unsignedintgcd(un

5、signedintx,unsignedinty);■最大公约数函数:穷举法unsignedintgcd(unsignedintx,unsignedinty){unsignedintt;t=x

6、

7、y%t!=0)t--;returnt;}■最大公约数函数:欧氏算法unsignedintgcd(unsignedintx,unsignedinty){unsignedintr;while(true){r=x%y;if(r==0)returny;x=y;y=r;}}输入:正整数x、y输出:最大公约数步骤1:x整除以y,记余数

8、为r步骤2:若r为0,则最大公约数即为y,算法结束步骤3:否则将y作为新x,将r作为新y,重复上述步骤

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。