C++中计算其与x的和等于与x的异或的数字
我们有一个数字X。目标是在0到X之间找到那些与X相加等于与X进行异或运算的数字。
我们将通过遍历从i=0到i<=X的数字来实现这一点,对于每个i,如果(i+X==i^X),则计数器加1。
让我们用例子来理解。
输入 - X=6
输出 - 与X相加等于与X异或的数字个数:2
解释 - 数字只有0和1。
输入 - X=20
输出 - 与X相加等于与X异或的数字个数:8
解释 - 数字是0 1 2 3 8 9 10 11
下面程序中使用的方案如下
我们取整数X。
函数sumisXOR(int x)接收x并返回与x相加等于与x异或的数字个数。
将初始计数设置为0。
从i=0遍历到i<=x。
如果i+x==i^x。计数器加1
在for循环结束时,计数器将包含所需的结果…
返回计数并打印。
示例
#include <bits/stdc++.h>
#include <math.h>
using namespace std;
int sumisXOR(int x){
int count = 0;
for (int i = 0; i <= x; i++){
if((i+x)==(i^x))
{ count++; }
}
return count;
}
int main(){
int X = 15;
int nums=sumisXOR(X);
cout <<endl<<"Count of numbers whose sum with X == XOR with X: "<<nums;
return 0;
}输出
如果我们运行以上代码,它将生成以下输出:
Count of numbers whose sum with X == XOR with X: 1
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP