Tommy's Blog Tommy's Blog
首页
  • IT专题
  • 考研学习
  • 英语学习
  • 考公学习
  • 斗资博弈
  • 随笔
Tags
正经人
时光机
  • 关于
  • 建站分享
  • Hexo教程
GitHub (opens new window)

Tommy

实事求是
首页
  • IT专题
  • 考研学习
  • 英语学习
  • 考公学习
  • 斗资博弈
  • 随笔
Tags
正经人
时光机
  • 关于
  • 建站分享
  • Hexo教程
GitHub (opens new window)
  • 计算机相关分享 目录
  • Vuepress静态网站搭建分享

  • 本BLOG网站维护关键信息

  • C++刷题

    • C++ 学习分享专栏介绍
    • 头文件资料库
    • C++题目分享
    • 函数类题目

    • 普通题目

    • 分支类题目

      • P5710
        • P5710 【深基3.例2】数的性质
  • windows坑爹问题杂谈

  • Hexo静态博客相关

目录

P5710

# P5710 【深基3.例2】数的性质

题目描述

一些数字可能拥有以下的性质:

  • 性质 1:是偶数;
  • 性质 2:大于 4 且不大于 12。

小A 喜欢这两个性质同时成立的数字;Uim 喜欢这至少符合其中一种性质的数字;八尾勇喜欢刚好有符合其中一个性质的数字;正妹喜欢不符合这两个性质的数字。

输入格式

输入一个数字 x(0≤x≤1000)x(0\le x \le 1000)x(0≤x≤1000)

输出格式

输出这 4 个人是否喜欢这个数字,如果喜欢则输出1,否则输出0,用空格分隔。

输入输出样例

输入 #1复制

12
1
1

输出 #1复制

1 1 0 0
1
1

解题思路:

这个题明显是可以用一大堆if来判断的, 但其实可以运用"且或非"配合"位运算符",可以非常简单的实现功能

代码:

#include<bits/stdcpp.h>
#include <iostream>
using namespace std;
int n;
bool a, b;		//定义布尔变量
int main(){
	cin >> n;
	a = (n % 2 == 0 && n != 1);	//设置a偶数得判定条件,最好是满足条件
	b = (n > 4 && n <= 12);		//设置b条件得满足情况
	cout << (a & b) << " " << (a | b) << " " << (a ^ b) << " " << (!a && !b);
    //这里运用位运算符,记得要打括号不然容易报错,a&b就是 a和b都满足输出1,不满足输出2
 	//附上运算法则
}
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13

位运算符

符号 描述 运算规则
& 按位与 两个位都为1时,结果才为1
| 按位或 两个位都为0时,结果才为0
^ 按位异或 两个位相同为0,相异为1
~ 按位取反 0变1,1变0
<< 按位左移 各二进位全部左移若干位,高位丢弃,低位补0
>> 按位右移 各二进位全部右移若干位,对无符号数,高位补0,有符号数,
各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)
在线编辑 (opens new window)
#cpp 刷题笔记#分支类题目#C语言
最近编辑时间: 2024/01/25 20:50:42
P5707
蓝牙驱动卸载后无法重装的BUG解决——win的奇葩BUG

← P5707 蓝牙驱动卸载后无法重装的BUG解决——win的奇葩BUG→

最近更新
01
本站维护方法(防止遗忘)
01-27
02
Speaking Corpus
04-28
03
Speaking Reference
04-24
更多文章>
Theme by Vdoing | Copyright © 2021-2025 | 备案信息:10086号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式