假币问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
假币实验
一、实验题目
在八枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重。可以通过一架天平来任意比较两组硬币,设计一个高效的算法来检测出这枚假币。
二、实验目的
(1)深刻理解并掌握减治法的设计思想;
(2)提高应用减治法设计算法的技能;
(3)理解这样一个观点:建立正确的模型对于问题的求解是非常重要的。
三、实验要求
(1)设计减治算法实现八枚硬币问题;
(2)设计实验程序,考察用减治技术设计的算法是否高效;
(3)扩展算法,使之能处理n枚硬币中有1枚假币的问题。
四、程序:
a=[0,0,0,0,0,0,0,0];
a(randint(1,1,8)+1)=1
if(a(1)+a(2)+a(3)==a(4)+a(5)+a(6))
if(a(1)~=a(7))
7
else
8
end
else
if(a(1)+a(2)==a(3)+a(4))
if(a(1)~=a(5))
5
else
6
end
else
if(a(1)==a(2))
if(a(1)~=a(3))
3
else
4
end
else
if(a(1)~=a(3))
1
else
2
end
end
end
end
运行结果:
a =
0 0 0 0 0 0 1 0 ans =
7