C++ では、擬似 2 進数の最小和として数値を表します。
このチュートリアルでは、擬似 2 進数の最小合計として数値を表現する方法について説明します。擬似 2 進数は、2 進数の 0 と 1 で構成される数値です。擬似 2 進数の例は、00、11、10、100、111、1011 などです。
ここでは、擬似 2 進数の合計として表される数値の例をいくつか示します。
Input : 23 Output : 11 + 11 + 1 Explanation : 23 = 11 + 11 + 1, sum of pseudo-binary numbers(11, 11, 1) is 23. Input : 50 Output : 10 + 10 + 10 + 10 + 10
解決策を見つける方法
次は、N を表す最小の擬似 2 進数を見つけるための最良の方法の 1 つです。
数値 X を取得し、数値 N の各桁に従って X の桁数を 1 または 0 に更新します。
N の各桁を確認します:
0 の場合は、X のそのビットを 0 に設定します。
0 でない場合は、X のビットを 1 に設定します。
N = 32 とすると、X は 11 になります。
# すると、X は擬似 2 進数になります。
N から X を減算し、N がゼロになるまでステップ 1 を繰り返します。
例
上記メソッドの C コード
#include<iostream> using namespace std; int main(){ int N = 51; // find a pseudo-binary number until N becomes 0. cout << "pseudo-binary representation of " << N << " is: "; while (N > 0){ // finding X which contains 0's and 1's according to N. int temp = N; int X = 0, bit = 1; // checking each place of N for zero or non-zero. while (temp!=0){ int last_dig = temp % 10; temp = temp / 10; if (last_dig != 0) X += bit; bit *= 10; } // printing one pseudo-binary number. cout << X << " "; // Updating N by subtracting with X. N = N - X; } return 0; }
出力
pseudo-binary representation of 51 is: 11 10 10 10 10
コードの理解
外側の while ループを使用して N を取得し、各位置の数値を選択して X を見つけます。
これを行うには、N の値を temp 変数に更新し、内部ループを使用して temp 変数の各位置をチェックし、変数 X のその位置を更新します。
X は擬似 2 進数であるため、その値を出力します。
N から X を減算し、N が 0 になるまで外側のループに再度入ることで、N を更新します。
結論
このチュートリアルでは、擬似 2 進数の最小和として数値を表す方法について説明しました。すべての疑似 2 進数を見つける方法について説明しました。また、同じ C コードを C、Java、Python などの他のプログラミング言語でも記述できることについても説明しました。このチュートリアルがお役に立てば幸いです。
以上がC++ では、擬似 2 進数の最小和として数値を表します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









私たちは皆、2、3、5、7、8 など、数の 2 乗ではない数字を知っています。非正方形の数は N 個あり、すべての数を知ることは不可能です。そこで、この記事では、平方なしまたは非平方数と、C++ で N 番目の非平方数を見つける方法についてすべて説明します。 N 番目の非平方数 数値が整数の 2 乗である場合、その数値は完全平方と呼ばれます。完全平方数の例としては、-1issquareof14issquareof29issquareof316issquareof425issquareof5 などがあります。数値がどの整数の平方でもない場合、その数値は非正方形と呼ばれます。たとえば、最初の 15 個の非平方数は -2、3、5、6 です。

この記事では、指定された配列を k 要素分右に回転する逆転アルゴリズムについて学びます。たとえば、−Input:arr[]={4,6,2,6,43,7,3,7}、 k= 4出力:{43,7,3,7,4,6,2,6}説明:配列の各要素を 4 要素ずつ右に回転すると、{43,7,3,7,4,6,2,6} が得られます。入力:arr[]= {8 ,5,8,2,1,4,9,3},k=3出力:{4,9,3,8,5,8,2,1} 解決策を見つける

円は閉じた図形です。円上のすべての点は、円内の点から等距離にあります。中心点を円の中心といいます。点から円の中心までの距離を半径といいます。面積は、閉じた図形の寸法の範囲を定量的に表現したものです。円の面積は、円の寸法内に囲まれた面積です。円の面積を計算する式、Area=π*r*r 面積を計算するには、円の半径を入力として与え、その式を使用して面積を計算します。アルゴリズム STEP1: stdinput を使用してユーザーからの入力として半径を取得します。STEP2 : area=( を使用して円の面積を計算します。

C++ の配列構文でいくつかの一意のペアを作成するには、適切な知識が必要です。一意のペアの数を見つけるときに、指定された配列内のすべての一意のペアを数えます。つまり、各ペアが一意である必要がある場所で、考えられるすべてのペアが形成される可能性があります。例: -Input:array[]={5,5,9}Output:4説明:すべての一意のペアの数は(5,5)、(5,9)、(9,5)、および(9,9)です。入力:array[] = {5,4,3,2,2}出力:解決策を見つける16の方法 この問題を解決するには2つの方法があります。

この記事では、C++ を使用して、最大値と最小値が同じ部分配列の数を求める問題を解決します。以下は問題の例です。 -入力:array={2,3,6,6,2,4,4,4}出力:12説明:{2},{3},{6},{6}, {2 }、{4}、{4}、{4}、{6,6}、{4,4}、{4,4}、および {4,4,4} は、同じ最大要素と最小要素で形成できるサブ配列です。入力: 配列 = {3, 3、1、5、

この記事では、セット上の再帰的関係を見つける方法を説明します。この問題では、数値 n と n 個の自然数のセットが与えられ、再帰関係の数を決定する必要があります。再帰的関係 - 集合 A 内のすべての 'a' について (a, a) が関係 R に属している場合、関係 R は集合 A 上の再帰的関係であると言われます。例: -Input:x=1Output:1説明:set={1},reflexiverelationsonA*A:{{1}}Input:x=2Output:4説明:set={1,2},reflexiverelationsonA*

この問題では、リンクされたリストの先頭へのポインタと整数 k が与えられます。サイズ k のグループでは、リンクされたリストを逆にする必要があります。たとえば、-Input:1<->2<->3<->4<->5(doublelinkedlist),k=3Output:3<->2<->1<->5<->4 解決策を探します方法 この問題では、この問題を解決するための再帰的アルゴリズムを定式化します。この方法では再帰を使用し、再帰を使用して問題を解決します。例#include<iostream&

与えられた問題では、配列があり、−Input:arr[]=[1,2,3,4,5,6,7], d=2Output のような反転アルゴリズムを使用して配列を d 要素だけ回転する必要があります。 arr[]=[3,4,5,6,7,1,2]説明:ご覧のとおり、この配列を回転させることができます byd=2butourmaintaskstoachievethisbyusingareversaltechnique.反転手法を使用して配列の回転についていくつかの計算を実行し、結論を出しました: まず、反転します。
