实验五-8枚硬币问题_第1页
实验五-8枚硬币问题_第2页
实验五-8枚硬币问题_第3页
实验五-8枚硬币问题_第4页
实验五-8枚硬币问题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告实验项目:8枚硬币问题班级:计算机姓名: 一、 实验题目:在8枚外观相同的硬币中,有一枚是假币,并且一直假币与真币的质量不同但不知道假币与真币相比较轻还是较重。可以通过一架天平来任意比较两组硬币,设计一个搞笑的算法來检测出这枚假币。二、 实验目的:进一步掌握递减治法的设计思想:提高应用减治法设计算法的技能:(2)理解这样一个观点:建立正确的模型对于问题的求解是非常重要的。三、 实验要求:(1〉设计实验算法实现8枚硬币问题:设计实验程序,考察用减治技术设计的算法是否高效:扩展算法,使之能处理n枚硕币中有1枚假币的问题。四、 算法描述(对算法主要部分进行伪代码描述或画出流程图)伪代码:intcoin(inta[]){输入硕币的质量;if(a[1]+a[2]+a[3]>a[4]+a[5]+a[6])if(a[l]+a[2]>a[4]+a[5])if(a[l]>a[4]){if(a[l]=a[3]){retuin4;}elseretiun1;}elseif(a[l]==a[4])if(a[2]=a[3])letuin5;}elsereturn2;}}if(a[l]+a[2]==a[4]+a[5]){if(a[3]=a[2]){retuin6;}elsereturn3;}}if(a[l]+a[2]+a[3]<a[4]+a[5]+a[6]){if(a[l]+a[2]<a[4]+a[5]){if(a[l]<a[4]){if(a[l]=a[3]){letuin4;}elsereturn1;}elseif(a[l]=a[4])if(a[2]=a[3])retuin5;}elsereturn2;}}if(a[l]+a[2]=a[4]+a[5]){if(a[3]=a[2]){retuin6;}elsereturn3;}}elseif(a[7]==a[3]){retuin8;}elsereturn7;}五、实验结果与结论:(给出测试数据以及程序运行结果,并进行比较,得出自己的结论)减治法算法解决8枚硬币的时间复杂度为:0(logzn)

源程序:intcoin(inta[])if(a[l]+a[2]+a[3]>a[4]+a[5]+a[6])if(a[l]+a[2]>a[4]+a[5])if(a[l]>aL4j)if(a[l]=a[3])return4;}elsereturn1;}elseif(a[l]=a[4j)return5;}elsereturn2;}}if(a[l]+a[2]==a[4]+a[5]){if(a[3]=a[2]){return6;}elsereturn3;}}if(a[l]+a[2]+a[3]<a[4]+a[5]+a[6]){if(a[l]+a[2]<a[4]+a[5]){if(a[l]<a[4]){if(a[l]=a[3]){return4;}elsereturn1;}elseif(a:l]==a[4])return5;}elsereturn2;}}if(a[l]+a[2]=a〔4]+a[5]){if(a[3]=a[2j){return6;}elsereturn3;}}elseif(a[7]=a[3]){return8;}elsereturn7;}intmainO{whiled){inta[9];cout«*输入硬币括人小*«end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论