+ -
当前位置:首页 → 问答吧 → 求救!(C语言)

求救!(C语言)

时间:2011-08-30

来源:互联网

设有8枚硬币,即a、b、c、d、e、f、g、h,其中仅有一枚是伪造的。真币重量相同,伪造与真币重量不同,可轻可重。设计算法,编写程序,用最少的比较次数将伪币挑出来

作者: ouyangmuzhu   发布时间: 2011-08-30

a b c 和 d e f 比 如相等,g 和 h 比 ,然后 a 和 g 比得结果。
如不等
a b 和 d g 比 如相等,c 和 f 比,得结果。
如不等
a 和 d 比 得结果

算法大概是这样,最多3此比较,很久没写c了,语法都记不清了,自己写吧。

作者: never517   发布时间: 2011-08-30

引用 1 楼 never517 的回复:
a b c 和 d e f 比 如相等,g 和 h 比 ,然后 a 和 g 比得结果。
如不等
a b 和 d g 比 如相等,c 和 f 比,得结果。
如不等
a 和 d 比 得结果

算法大概是这样,最多3此比较,很久没写c了,语法都记不清了,自己写吧。


额,这个貌似有点问题,从第二部的时候需要判断大于小于

假设第一步是abc大于def
第二部
a b d 和 c g h 比,如等于 e 和 g 比得结果
如大于
a 和g 比得结果
如小于
c 和d 比得结果

这下应该没问题了

作者: never517   发布时间: 2011-08-30