算法课件算法的定义和特征.doc

算法课件算法的定义和特征.doc

ID:56281549

大小:28.50 KB

页数:2页

时间:2020-06-05

算法课件算法的定义和特征.doc_第1页
算法课件算法的定义和特征.doc_第2页
资源描述:

《算法课件算法的定义和特征.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、算法的定义和特征:算法1欧几里德算法输入:正整数m,n输出:m,n的最大公因子1.inteuclid(intm,intn)2.{3.intr;4.do{5.r=m%n;6.m=n;7.n=r;8.}while(r)9.return10.}算法是解某一特定问题的一组有穷规则的集合。特征:1有限性2确定性3输入4输出5能行性算法设计的例子例1.1百鸡问题。公元5世纪末,我国古代数学家张丘建在他所撰写的《算经》中,提出了这样的一个问题:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”意思是公鸡每只5元、

2、母鸡每只3元、小鸡3只1元,用100元钱买100只鸡,求公鸡、母鸡、小鸡的只数。令a为公鸡只数,b为母鸡只数,c为小鸡只数。根据题意,可列出下面的约束方程:a+b+c=l00(1)5a+3b+c/3=100(2)c%3=0(3)其中,运算符“/”为整除运算,“%”为求模运算,式(1.1.3)表示‘被3除余数为0。这类问题用解析法求解有困难,但可用穷举法来求解。穷举法就是从有限集合中,逐一列举集合的所有元素,对每一个元素逐一判断和处理,从而找出问题的解。·上述百鸡问题中,a、b、c的可能取值范围为0-100,对在此范围内的a、6、c的所

3、有组合进行测试,凡是满足上述3个约束方程的组合,都是问题的解。如果把问题转化为用n元钱买n只鸡,n为任意正整数,则式(1)、式(2)变为:a+b+c=n(4)5a+3b+c/3=n(5)于是,可用下面的算法来实现:算法1.2百鸡问题输入:所购买的3种鸡的总数目n输出:满足问题的解的数目k,公鸡,母鸡,小鸡的只数g[],m[],s[])1voidchickenquestion(ihtn,int&k,intg[],intm[],intsi])2{3inta,b,c;4k=O;5for(a=O;a<=n;a++){6for(b=O;b<=n

4、;b++){7for(c=O;c<=n;c++){8.if((a+b+c==n)&&(5*a+3*b+c/3==n)&&(c%3==O)){9.g[k]=a;10.m[k]=b;11.s[k]=c;12.k++;13.}14.}15}16.}17.}算法2:改进的百鸡问题输入:所购买的3种鸡的总数目n输出:满足问题的解的数目k,公鸡,母鸡,小鸡的只数g[],mC],s[])1voidchickenproblem(intn,int&k,intg[],intm[],ints[])2{3inti,j,a,b,c;4k=0;5i=n/5;6j

5、=n/3;7.for(a=0;a<=i;a++){8.for(b=O;b<=j;b++){9.c=n-a-b;10.if((5*a+3*b+c/3==n)&&(c%3==O)){11.g[k]=a;12.m[k]=b;13.s[k]=c;14.k++;15.}16.}17.}18.}

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

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

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