C之算法设计与实现PPT推荐.pptx
- 文档编号:14304776
- 上传时间:2022-10-21
- 格式:PPTX
- 页数:11
- 大小:460.16KB
C之算法设计与实现PPT推荐.pptx
《C之算法设计与实现PPT推荐.pptx》由会员分享,可在线阅读,更多相关《C之算法设计与实现PPT推荐.pptx(11页珍藏版)》请在冰豆网上搜索。
判断除数i是否已为n,若为真返回true,否则继续步骤3:
判断n%i是否为0,若为0返回false,否则继续步骤4:
将除数i递增,重复步骤2,验证其为算法:
对照算法五个基本特征证明算法正确测试算法,boolIsPrime(unsignedintn)unsignedinti=2;
while(in)if(n%i=0)returnfalse;
i+;
returntrue;
boolIsPrime(unsignedintn)unsignedinti=2;
while(i=(unsignedint)sqrt(n)if(n%i=0)returnfalse;
为什么可以使用sqrt(n)代替n?
sqrt为标准库中的求平方根函数,boolIsPrime(unsignedintn)unsignedinti=3;
if(n%2=0)returnfalse;
i+=2;
第三版有什么改进?
boolIsPrime(unsignedintn)unsignedinti=3;
while(i=(unsignedint)sqrt(n)+1)if(n%i=0)returnfalse;
第四版有什么改进?
boolIsPrime(unsignedintn)unsignedinti=3,t=(unsignedint)sqrt(n)+1;
while(i=t)if(n%i=0)returnfalse;
第五版有什么改进?
算法选择的权衡指标正确性:
算法是否完全正确?
效率:
在某些场合,对程序效率的追求具有重要意义可理解性:
算法是否容易理解,也是必须要考虑的算法评估:
衡量算法的好坏,主要是效率,求两个正整数x与y的最大公约数函数原型设计unsignedintgcd(unsignedintx,unsignedinty);
unsignedintgcd(unsignedintx,unsignedinty)unsignedintt;
t=xy?
x:
y;
while(x%t!
=0|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,记余数为r步骤2:
若r为0,则最大公约数即为y,算法结束步骤3:
否则将y作为新x,将r作为新y,重复上述步骤,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 实现