4494:[GESP202503 三级] 2025

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:1 解决:0

题目描述

## 题目背景 2025 年 03 月 GESP C++ 三级编程第 1 题 ## 题目描述 小 A 有一个整数 $x$,他想找到最小的正整数 $y$ 使得下式成立: $$(x \ \operatorname{and} \ y) + (x \ \operatorname{or} \ y) = 2025$$ 其中 $\operatorname{and}$ 表示二进制按位与运算,$\operatorname{or}$ 表示二进制按位或运算。如果不存在满足条件的 $y$,则输出 $-1$。 ## 输入格式 一行,一个整数 $x$。 ## 输出格式 一行,一个整数,若满足条件的 $y$ 存在则输出 $y$,否则输出 $-1$。 ## 样例 ```input1 1025 ``` ```output1 1000 ``` ## 数据范围 对于所有测试点,保证 $0 \leq x < 2025$。 ## 提示 $$(x \ \operatorname{and} \ y) + (x \ \operatorname{or} \ y) = 2025$$ 其中: - $\operatorname{and}$ 表示按位与运算,运算符为 $\&$。 - $\operatorname{or}$ 表示按位或运算,运算符为 $|$。

来源/分类