TIA博途SCL编程学习60_分治法找假币 2020-02-16 14:15阅读: http://blog.sina.cn/dpool/blog/u/1433116220 1. 题目: 一个装16枚硬币的袋子,16枚硬币中有一个是伪造的,并且那个伪造的硬币比真的硬币要轻,找到这枚硬币。 2. 问题分析与算法设计: 假设有一台可用来比较两组硬币重量的仪器,使用分治法找出那枚伪造的硬币。 1) 先将16枚硬币分为左右两个部分,各为8枚硬币,分别称重; 2) 得出一半儿轻一半儿重,舍去重的留下轻的; 3) 继续对轻的进行五五分,直至每组剩下一枚或者两枚硬币; 4) 问题得以解决。 3. 定义变量。如下图: 注意:采用数组来代表那个装有16枚硬币的袋子。 4. 编写程序。如下图: