(笔记未整理完全)洛谷 P5710 【深基3.例2】数的性质
作者:互联网
题目描述
一些数字可能拥有以下的性质:
- 性质 1:是偶数;
- 性质 2:大于 4 且不大于 12。
小A 喜欢这两个性质同时成立的数字;Uim 喜欢这至少符合其中一种性质的数字;八尾勇喜欢刚好有符合其中一个性质的数字;正妹喜欢不符合这两个性质的数字。
输入格式
输入一个数字 x(0≤x≤1000)
输出格式
输出这 4 个人是否喜欢这个数字,如果喜欢则输出1
,否则输出0
,用空格分隔。
输入输出样例
输入:
12
输出:
1 1 0 0
第一版代码:(未AC,有一个数据出错)
#include <iostream>
using namespace std;
int main()
{
int n,a=0,b=0,c=0,d=0;
scanf("%d",&n);
if((n%2==0)&&((n>4)&&(n<=12))) a=1;
if((n%2==0)||((n>4)&&(n<=12))) b=1;
if((n%2!=0)||((n<4)||(n>12))) c=1; //问题出在这里!
if((n%2!=0)&&((n<4)||(n>12))) d=1;
printf("%d %d %d %d",a,b,c,d);
return 0;
}
错误测试点数据:
输入:1
输出:0 0 0 1
第二版代码:(已AC)
#include <iostream>
using namespace std;
int main()
{
int n,a=0,b=0,c=0,d=0;
scanf("%d",&n);
if((n%2==0)&&((n>4)&&(n<=12))) a=1;
if((n%2==0)||((n>4)&&(n<=12))) b=1;
if((n%2==0)^((n>4)&&(n<=12))) c=1; //用异或表示仅符合其中的一项
if((n%2!=0)&&((n<=4)||(n>12))) d=1;
printf("%d %d %d %d",a,b,c,d);
return 0;
}
总结:
逻辑运算符的用法:
标签:n12,输出,洛谷,数字,int,深基,&&,未整理,性质 来源: https://blog.csdn.net/gzkeylucky/article/details/122006387