C++のバイナリ表現での0と1のXORカウント
この問題では、番号が与えられます。私たちのタスクは、数値の2進表現で0と1のカウントのXORを見つけることです。
問題を理解するために例を見てみましょう
入力
n = 9
出力
0
説明
binary = 1001 Count of 0s = 2 Count of 1s = 2 2 ^ 2 = 0
この問題を解決するために、最初に同等の2進数の数値を変換し、次に数値の各ビットを反復処理して、0と1をカウントし、次に0と1のカウントのXORを見つけます。
上記の解決策を説明するプログラム
例
#include<iostream> using namespace std; int countXOR10(int n) { int count0s = 0, count1s = 0; while (n){ (n % 2 == 0) ? count0s++ :count1s++; n /= 2; } return (count0s ^ count1s); } int main() { int n = 21; cout<<"XOR of count of 0s and 1s in binary of "<<n<<" is "<<countXOR10(n); return 0; }
出力
XOR of count of 0s and 1s in binary of 21 is 1
-
C ++のバイナリツリー(反復および再帰)の完全なノードをカウントします
バイナリツリーが与えられ、タスクは、反復的かつ再帰的なアプローチを使用して、バイナリツリーで使用可能な完全なノードの数を計算することです。フルノードとは、両方の子があり、子がnullでないノードです。フルノードでは、正確に2つの子を持つノードを考慮することに注意してください。 バイナリツリーは、データストレージの目的で使用される特別なデータ構造です。二分木には、各ノードが最大2つの子を持つことができるという特別な条件があります。バイナリツリーには、検索が並べ替えられた配列と同じくらい高速であり、挿入または削除操作がリンクリストと同じくらい高速であるため、順序付き配列とリンクリストの両方の利点
-
C ++のバイナリツリー(反復および再帰)のハーフノードをカウントします
バイナリツリーが与えられ、タスクは、反復的かつ再帰的なアプローチを使用して、バイナリツリーで使用可能なハーフノードの数を計算することです。ハーフノードは、子が1つだけで、もう1つの子がnullであるノードです。ハーフノードでは、リーフノードを考慮しないことに注意してください。 バイナリツリーは、データストレージの目的で使用される特別なデータ構造です。二分木には、各ノードが最大2つの子を持つことができるという特別な条件があります。バイナリツリーには、検索が並べ替えられた配列と同じくらい高速であり、挿入または削除操作がリンクリストと同じくらい高速であるため、順序付き配列とリンクリストの両方の利点