p5710_数的性质(深基3.例2)
Description
一些数字可能拥有以下的性质:
性质 1:是偶数;
性质 2:大于 4 且不大于 12。
小A 喜欢这两个性质同时成立的数字;
Uim 喜欢这至少符合其中一种性质的数字;
八尾勇喜欢刚好有符合其中一个性质的数字;
正妹喜欢不符合这两个性质的数字。
Input
输入一个数字 x ( 0 ⩽ x ⩽ 1000 ) x(0\leqslant x \leqslant 1000) x(0⩽x⩽1000)
Output
输出这 4 个人是否喜欢这个数字,如果喜欢则输出1,否则输出0,用空格分隔。
Sample Input
12
Sample Output
1 1 0 0
本题用四个判断语句就可以解决了,这里有个容易错误的地方会导致#2报WA,一个数的区间是(4,12],它对全集的补集是(- ∞ \infty ∞,4]或(12,+ ∞ \infty ∞),如果写成(- ∞ \infty ∞,4]与(12,+ ∞ \infty ∞)就会WA,因为找不到一个数同时既小于等于4又大于12。
#include <cstdio>
using namespace std;
int main(){
int x,a=0,b=0,c=0,d=0;
scanf("%d",&x);
if(x%2==0&&x>4&&x<=12) a=1;
if(x%2==0||x>4&&x<=12) b=1;
if((x%2!=0&&x>4&&x<=12)||(x%2==0&&x<=4||x%2==0&&x>12)) c=1;
if(x%2!=0&&x<=4||x%2!=0&&x>12) d=1;
printf("%d %d %d %d",a,b,c,d);
return 0;
}