C++ 中统计与 N 的差值等于与 N 的异或值的数字
我们有一个数字 N。目标是在 0 到 N 之间找到与 N 的差值等于与 N 的异或值的数字。
我们将通过遍历从 i=0 到 i<=N 的数字来实现这一点,对于每个 i,如果 (N-X==i^N),则递增计数。
让我们通过示例来理解。
输入 − X=6
输出 − 与 N 的差值等于与 N 的异或值的数字的计数:4
解释 − 数字为 0 2 4 6。
输入 − X=20
输出 − 与 N 的差值等于与 N 的异或值的数字的计数:4
解释 − 数字为 0 4 16 20
下面程序中使用的方案如下
我们取整数 N。
函数 diffisXOR(int n) 获取 n 并返回与 n 的差值等于与 n 的异或值的数字的计数。
将初始计数设为 0。
从 i=0 遍历到 i<=n。
如果 i-n==i^n。递增计数
在 for 循环结束时,计数将具有所需的结果。
返回并打印计数。
示例
#include <bits/stdc++.h>
#include <math.h>
using namespace std;
int diffisXOR(int n){
int count = 0;
for (int i = 0; i <= x; i++){
if((x-i)==(i^x))
{ count++; }
}
return count;
}
int main(){
int N = 15;
int nums=diffisXOR(N);
cout <<endl<<"Count of numbers whose difference with N == XOR with N: "<<nums;
return 0;
}输出
如果我们运行以上代码,它将生成以下输出:
Count of numbers whose difference with N == XOR with N: 16
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP