《B4261 [GESP202503 三级] 2025》

题目背景

对应的选择、判断题:https://ti.luogu.com.cn/problemset/1175

题目描述

小 A 有一个整数 x,他想找到最小的正整数 y 使得下式成立:

(x and y)+(x or y)=2025

其中 and 表示二进制按位与运算,or 表示二进制按位或运算。如果不存在满足条件的 y,则输出 −1。

输入格式

一行,一个整数 x。

输出格式

一行,一个整数,若满足条件的 y 存在则输出 y,否则输出 −1。

输入输出样例

输入 #1复制

复制代码
1025

输出 #1复制

复制代码
1000

说明/提示

对于所有测试点,保证 0≤x<2025。

(x and y)+(x or y)=2025

其中:

  • and 表示按位与运算,运算符为 &。
  • or 表示按位或运算,运算符为 ∣。

代码实现:

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int x;
    cin >> x;
    int y = 2025 - x;
    if (y > 0) {
        cout << y << endl;
    } else {
        cout << -1 << endl;
    }
    return 0;
}
相关推荐
小张成长计划..7 小时前
【C++】32:智能指针
c++
海兰7 小时前
【实用应用】React+TypeScript+Next.js博客项目
开发语言·javascript·elasticsearch
咩咦7 小时前
C++学习笔记19:运算符重载基础与赋值运算符重载
c++·学习笔记·类和对象·运算符重载·赋值运算符·operator
简单点好不好7 小时前
工作中的工程问题: 找圆?
算法
wjs20247 小时前
C++ 预处理器
开发语言
lly2024067 小时前
《Foundation 提醒框》
开发语言
~|Bernard|7 小时前
GO语言中哪些类型是可比较类型的(==和!=)
开发语言·后端·golang
我爱cope7 小时前
【力扣hot100:76. 最小覆盖子串】
算法·leetcode·职场和发展
社交怪人7 小时前
【歌手大奖赛】信息学奥赛一本通C语言解法(题号2072)
c语言·算法