上海市计算机学会竞赛平台2024年6月月赛丙组位运算

题目描述

给定一个正整数 𝑛n ,请你求出最小的正整数 𝑚m ,使得同时满足以下三个条件:

𝑛 & 𝑚≠0𝑛 ∣ 𝑚≠0𝑛⊕𝑚≠0n & m​=0n ∣ m​=0n⊕m​=0

式中:

&&表示两数与,是指两数在二进制形式下按位做与运算

∣∣表示两数或,是指两数在二进制形式下按位做或运算

⊕⊕ 表示两数异或,是指两数在二进制形式下按位做异或运算,所谓异或,是指不同值异或结果为1,相同值异或结果为0,即:

0⊕0=00⊕1=11⊕0=11⊕1=00⊕0=00⊕1=11⊕0=11⊕1=0

输入格式

输入一个正整数 𝑛n

输出格式

输出一个正整数 ,表示满足最小的正整数 𝑚m

数据范围
  • 对于30%30%的数据:1≤𝑛≤1001≤n≤100
  • 对于60%60%的数据:1≤𝑛≤1051≤n≤105
  • 对于100%100%的数据:1≤𝑛≤2×1091≤n≤2×109
样例数据

输入:

2

输出:

3

说明:

m取1时,2&1=0,不满足

m取2时,2^2=0 (^指异或运算),不满足

m取3时,满足条件:

2&3=2

2|3=3

2^3=1

详见代码:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main() 
{
    int n;
    cin >> n;
    for(int i = 1;; i++) 
    {
        if ((i & n) && (i | n) && (i ^ n)) 
        {
            cout << i;
            break;
        }
    }
    return 0;
}
相关推荐
无限码力4 分钟前
美团研发岗 4月18号笔试真题 - 包包的最长公共子序列3
算法·美团笔试题·美团研发岗笔试题·美团机试题
阿里matlab建模师21 分钟前
基于matlab时域频域处理的语音信号变声处理系统设计与算法原理(论文+程序源码+GUI图形用户界面)——变声算法
算法·matlab·语音识别
IMPYLH24 分钟前
HTML 的 <abbr> 元素
前端·算法·html
leo__52034 分钟前
小波特征与模糊支持向量机(FSVM)的脑电信号分类方法
算法·支持向量机·分类
wabs66638 分钟前
关于动态规划【纯粹的0-1背包需要思考的问题】
算法·动态规划
小小编程路40 分钟前
字符串转数字时,可能会遇到哪些问题?
java·开发语言·算法
rit84324991 小时前
MATLAB近红外光谱预处理:平滑与求导(MSV方法)
数据结构·算法·matlab
蚂蚁数据AntData1 小时前
从ChatBI到业务记忆:重新定义数据智能的生产力边界
大数据·网络·数据库·人工智能·算法
_日拱一卒1 小时前
LeetCode:22括号生成
算法·leetcode·职场和发展
cfm_29141 小时前
JVM垃圾收集算法与收集器深度解析
jvm·测试工具·算法·性能优化