本文仅为学习记录,如有疏漏,还请大家指正;
本题为离散数学课后习题 题目描述如下:
某公司要从赵,钱,孙,李,周五名新毕业的大学生中选派一些人出国学习。选派必须满足以下条件:
1,若赵去,则钱也去。
2,李,周两人中必有一人去。
3,钱,孙两人中去且仅去一人。
4,孙,李两人同去或同不去。
5,若周去,则赵,钱也同去。
解法如下:可以设命题p,q,r,s,t分别表示赵,钱,孙,李,周去,将题中所给的五句话翻译为
1:(p->q)
2:(s&&t)||(!s&&t)||(s&&!t)
3:(q&&!r)||(!q&&r)
4:(r&&s)||(!r&&!s)
5:(t->(p&&q) )
其中1和5再推导一下,接下来的运算就交给计算机了,代码如下
#include<iostream>
using namespace std;
int p,q,r,s,t;//p(赵),q(钱),r(孙),s(李),t(周)
int main(){
for(int p=0;p<=1;p++){
for(int q=0;q<=1;q++){
for(int r=0;r<=1;r++){
for(int s=0;s<&