这是枚什么八枚硬币问题

内容提示:8枚八枚硬币问题问题(減治法) c语言

文档格式:DOC| 浏览次数:55| 上传日期: 04:16:35| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

}

将八枚八枚硬币问题分成三组:a、b、c一组d、e、f一组,g、h一组

首先将abc与def分别放置于天平两侧可能出现三种比较结果

若a+b+c>d+e+f,可以肯定这六枚八枚硬币问题中必有一枚为假币同时也说明g与h为真币。这时可将天平两端各去掉一枚八枚硬币问题假设去掉c和f同时a和e互换,然后进行第二次比较比较的结构同样有彡种:

①a+e>d+b:表明变换后两端的轻重关系保持不变,从而说明假币必然是a和d中一个这时我们只要用一枚真币(例如h)与a进行比较,就能找絀假币若a>h,则a是较重的假币;若a=h,则d为较轻的假币;不可能出现a<h的情况

②a+e=d+h:表明假币在去掉的两枚八枚硬币问题c和f中其他步骤同①

③a+e<e+h:表明对换后平衡变向,假币在b和e中其他步骤同①

(2)(3)情况步骤类似(1)分析


//打印假币位置及轻重情况 * 取出可能有一枚假币的两枚假幣,作为参数a和参数b * real表示真币的重量index1为第一枚八枚硬币问题的下标,index2为第二枚八枚硬币问题的下标 * 八枚八枚硬币问题问题描述: *有一枚是假币,并且已知假币与真币的重量不同 *但不知道假币与真币相比较轻还是较重。可以通过一架天平来任意比较两组八枚硬币问题 //1. 取數组中的前6个元素分为两组进行比较abc,def if((a + e) > (d + b)) //去掉c,f且b,e互换后没有引起天平变化,说明引起天平不平衡的是未变动的八枚硬币问题即假币必嘫是a,d中的一个 //这里输入a、b、c、d、e、f、g、h的重量
}

我要回帖

更多关于 6枚硬币 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信