时间限制:1S 内存限制:128MB
题目描述
给定一个正整数x,通过下面条件算出y的值,如果没有符合下面条件的y,就输出-1。
(x and y)+(x or y)=2025
输入描述
给定一个正整数x(0x
2025)。
输出描述
输出上面条件中y的值,如果没有符合条件的y,就输出-1。
样例输入
1025
样例输出
1000
提示
0x
2025
and为“&”
or为“|”
解题思路
首先确定y的范围,这里y的范围为0 y
8*x
把y设为枚举对象,不断把x和y带入条件,如果满足条件把y输出并结束,如果循环结束了也没满足条件就输出-1。
正确代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
cin>>x;
for(int y=0;y<=8*x;y++){
if((x&y)+(x|y)==2025){
cout<<y;
return 0;
}
}
cout<<-1;
return 0;
}