题目描述
一些整数可能拥有以下的性质:
- 性质 1:是偶数;
- 性质 2:大于 44 且不大于 1212。
小 A 喜欢这两个性质同时成立的整数;Uim 喜欢这至少符合其中一种性质的整数;八尾勇喜欢刚好有符合其中一个性质的整数;正妹喜欢不符合这两个性质的整数。现在给出一个整数 x,请问他们是否喜欢这个整数?
输入格式
输入一个整数x(0≤x≤1000)
输出格式
输出这 44 个人是否喜欢这个数字,如果喜欢则输出 1
,否则输出 0
,用空格分隔。输出顺序为:小 A、Uim、八尾勇、正妹。
输入输出样例
输入 #1
12
输出 #1
1 1 0 0
参考代码:
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if((a%2==0)&&(a>4&&a<=12))
printf("1 ");
else
printf("0 ");
if((a%2==0)||(a>4&&a<=12))
printf("1 ");
else
printf("0 ");
if((a%2==0)&&(!(a>4&&a<=12))||(!(a%2==0))&&(a>4&&a<=12))
printf("1 ");
else
printf("0 ");
if((!(a%2==0))&&(!(a>4&&a<=12)))
printf("1 ");
else
printf("0 ");
return 0;
}
看了题解后发现了大佬的更简单的写法
#include <stdio.h>
#include <stdbool.h>
int main()
{
int a;
scanf("%d",&a);
bool m,n;
m= !(a & 1); //判断x是奇数还是偶数,如果x是奇数那么x&1的值就是true,如果x是偶数那么x&1的值就是false
n=(a > 4 && a <= 12);
printf("%d %d %d %d", m & n, m | n, (m && !n || n && !m), !m && !n);
return 0;
}