传送门
题目:
思路:
这道题目主要是要判断一个整数是否符合给定的性质,然后输出对应的结果。
首先,我们可以定义两个变量 t 和 f 分别表示性质 1 和性质 2 是否成立。对于性质 1,我们可以通过判断 x 是否为偶数,即 x & 1 是否为 0,来确定 t 的值。对于性质 2,我们可以判断 x 是否大于 4 且小于等于 12,来确定 f 的值。
然后,我们可以通过逻辑运算符来判断每个人是否喜欢这个整数。小 A 喜欢这两个性质同时成立的整数,即 t 和 f 都为真,使用逻辑与运算符 t & f 来判断。Uim 喜欢这至少符合其中一种性质的整数,即 t 和 f 中至少有一个为真,使用逻辑或运算符 t | f 来判断。八尾勇喜欢刚好有符合其中一个性质的整数,即 t 为真且 f 为假,或者 t 为假且 f 为真,使用逻辑异或运算符 (t && !f) || (!t && f) 来判断。正妹喜欢不符合这两个性质的整数,即 t 和 f 都为假,使用逻辑非运算符 !t && !f 来判断。
最后,将这四个判断结果依次输出即可。
代码:
#include <bits/stdc++.h>
using namespace std;
int x;bool t,f;
int main(){
scanf("%d", &x);
t=!(x & 1), f=(x>4&&x<=12);
printf("%d %d %d %d\n",t&f,t|f,(t&&!f||f&&!t),!t&&!f);
return 0;
}