上海市计算机学会竞赛平台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;
}
相关推荐
北域码匠25 分钟前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波
指掀涛澜天下惊1 小时前
强化学习进阶篇八 策略梯度算法
深度学习·学习·算法·强化学习
乌萨奇也要立志学C++1 小时前
【洛谷】kmp算法
开发语言·算法
禹凕1 小时前
Dijkstra算法详解与应用
python·算法
YaraMemo2 小时前
元启发式算法框架
人工智能·算法·5g·信息与通信·启发式算法·信号处理
weixin_307779132 小时前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
HugoStudio_SWAN3 小时前
洛谷 B4500 / B4449 / B3843 凯撒密码、密码强度与密码合规——加密与安全的三道门
c++·学习·程序人生·算法·安全
枫叶林FYL4 小时前
【群体智能集群控制工程实践】第3章 一致性协同算法
算法
禹凕4 小时前
滑动窗口算法实战指南
python·算法
DisonTangor4 小时前
【腾讯混元雪耻归来】 Hy4 preview:770B 参数 MoE 旗舰模型,1M 上下文全面开源
人工智能·算法·开源·aigc·腾讯云·腾讯云ai代码助手