nとのXORがC++でより大きな値を生成する小さな数を数えます
整数が与えられます。たとえば、numが与えられます。タスクは、numよりも小さい数値をカウントすることです。numとのXORは、XOR値よりも大きい値になります。
XOR演算の真理値表を以下に示します
A | B | A XOR B |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
入力 − int num =11
出力 − nとのXORがより大きな値を生成する、より小さな数の数は− 4
説明 −
numは11として与えられます。これは、num未満の数値を持つnumのXORを見つける必要があることを意味します。したがって、数値は1 XOR 11 <11(FALSE)、2 XOR 11 <11(FALSE)、3 XOR 11 <11(FALSE)、4 XOR 11> 11(TRUE)、5 XOR 11> 11(TRUE)、6です。 XOR 11> 11(TRUE)、7 XOR 11> 11(TRUE)、8 XOR 11 <11(FALSE)、9 XOR 11 <11(FALSE)、10 XOR 11 <11(FALSE)。
入力 − int num =12
出力 − nとのXORがより大きな値を生成する、より小さな数の数は− 3
説明 −
numは12として与えられます。これは、num未満の数値を持つnumのXORを見つける必要があることを意味します。したがって、数値は1 XOR 12> 12(TRUE)、2 XOR 12> 12(TRUE)、3 XOR 12> 12(TRUE)、4 XOR 12 <12(FALSE)、5 XOR 12 <12(FALSE)、6です。 XOR 12 <12(FALSE)、7 XOR 12 <12(FALSE)、8 XOR 12 <12(FALSE)、9 XOR 12 <12(FALSE)、10 XOR 12 <12(FALSE)、11 XOR 12 <12( FALSE)。
以下のプログラムで使用されているアプローチは次のとおりです
-
整数要素を入力し、numという名前の変数に格納します。
-
numの値を関数に渡してさらに処理します
-
結果を保存するための一時変数カウントを作成します。
-
num> 0
になるまでループを開始します -
ループ内で、IF num&1 ==TRUEを確認してから、カウントをcount + pow(2、temp)
として設定します。 -
tempの値を1インクリメントします
-
そして、numをnumに設定します>> =1
-
カウントを返す
-
結果を印刷する
例
#include using namespace std; //Count smaller numbers whose XOR with n produces greater value int XOR_greater(int n){ int temp = 0; int count = 0; while (n > 0){ if ((n&1) == 0){ count += pow(2, temp); } temp++; n >>= 1; } return count; } int main(){ int n = 20; cout<<"Count of smaller numbers whose XOR with n produces greater value are: "<<XOR_greater(n) << endl; return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Count of smaller numbers whose XOR with n produces greater value are: 11
-
桁の合計がC++で指定された合計に等しいn桁の数値の数
桁数と合計として正の数が与えられます。目標は、入力の合計に等しい桁の合計を持つすべてのd桁の数値を見つけることです。先行ゼロのある数字は、d桁の数字とは見なされません。 範囲は1〜100の数字で、合計は1〜500です。 例を挙げて理解しましょう。 例 入力- 数字=3、digi_sum =3 出力- 桁の合計が指定された合計に等しいn桁の数字の数は次のとおりです。6 説明- 桁の合計が3である3桁の数字は次のとおりです。 102、111、120、201、210、および300。 入力- 数字=4digi_sum =2 出力- 桁の合計が指定された合計に等しいn桁の数字の数は
-
Xとの合計がC++のフィボナッチ数であるノードをカウントします
ノードの重みを数値として持つ二分木を指定します。目標は、その数がフィボナッチ数であるような重みを持つノードの数を見つけることです。フィボナッチ数列の数は次のとおりです。0、1、1、2、3、5、8、13…。n番目の数はの合計です。 (n-1)番目と(n-2)番目。重みが13の場合、それはフィボナッチ数であるため、ノードがカウントされます。 例 入力 temp=1。値を入力した後に作成されるツリーを以下に示します- 出力 Count the nodes whose sum with X is a Fibonacci number are: 3 説明 we are given with