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