与众不同的做法
2026-05-18 21:24:31
发布于:上海
2阅读
0回复
0点赞
因为(x & y) + (x | y) = x + y
恒成立,永远等于 x + y(后面有证明过程)
所以题目:
(x & y) + (x | y) = 2025
直接变成:
x + y = 2025
证明:
1,如果两位不一样(一个 0 一个 1)
与:0,或:1 → 和为 1
本身相加:(0+1=1),一样
2,如果两位都是 1
与:1,或:1 → 和为 2
本身相加:(1+1=2),一样
3,如果两位都是 0两边都是 0,相等。
每一位都相等 → 整个数字一定相等
所以
#include <iostream>
using namespace std;
int main() {
int x;
cin >> x;
int y = 2025 - x;
if (y > 0) cout << y;
else cout << -1;
return 0;
}
难度和a+b problem一模一样!
全部评论 1
dddddddddddddd
2小时前 来自 上海
0







有帮助,赞一个