c++基础题目,一个逻辑推理题题目,求助代码

内容提示:编程(C++)解决逻辑推悝题推理问题 fghtj

文档格式:PDF| 浏览次数:27| 上传日期: 17:56:10| 文档星级:?????

}

内容提示:编程(C++)解决逻辑推悝题推理问题 fghtj

文档格式:PDF| 浏览次数:27| 上传日期: 17:56:10| 文档星级:?????

}
第二题:某地刑侦大队对涉及六個嫌疑人的一桩疑案进行分析:
A、B 至少有一人作案;
A、E、F 三人中至少有两人参与作案;
A、D 不可能是同案犯;
B、C 或同时作案或与本案无关;
C、D 中有且仅有一人作案;
如果 D 没有参与作案,则 E 也不可能参与作案
试编一程序,将作案人找出来

比较笨用的是穷举!!

跟上题一样,排列出所有可能的罪犯组合类型


我们用一个int来表达,最低位为A依次升高为B、C、D、E、F
如果A、B、D是罪犯的话,那表达出来就是 现在列举所有的罪犯组合只需要循环,从0到(2^6-1)

思想是这个样子的把所有一切都转化成数目的思考!


比如X、Y同犯,则表明数目是2
要判断罪犯列表ΦX、Y是否是同犯
只要把X、Y的组合与整体的罪犯组合与运算后,
2进制中依然能数出来2个1则确定X、Y是同犯成立

statu2int函数就是属状态码的2进制中数有多少个罪犯数目的

check则用要判断的罪犯列表、他们的关系数量,与输入的假设犯罪组合进行比较如果成立返回1,否则返回0

main中循环所有组合,依次判断题目中的条件


如果不符合,就continue;如果都符合则打印出当前罪犯组合



















}

我要回帖

更多关于 逻辑题目 的文章

更多推荐

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

点击添加站长微信