目次
解決方法
ブルート フォース メソッド
効率的な方法
出力
上記のコードの説明
ホームページ バックエンド開発 C++ C++ では、2 進数の 1 ビットを削除して最大値を取得します。

C++ では、2 進数の 1 ビットを削除して最大値を取得します。

Sep 17, 2023 pm 03:53 PM
バイナリ 最大値 取り除く

C++ では、2 進数の 1 ビットを削除して最大値を取得します。

指定された 2 進数の問題について話し合います。

Input : N = 1011
Output: 111
Explanation: We need to remove one bit so removing 0 bit will give a maximum number than removing any 1’s bit. 111 > 101, 011.

Input: 111
Output: 11
Explanation: Since all the bits are 1 so we can remove any bit.
ログイン後にコピー

解決方法

ブルート フォース メソッド

ブルート フォース メソッドのような残りの数が他のすべてのオプションの中で最大になるように、そこから少し削除する必要があります。結果の最大数を取得します。つまり、結果を少しずつ削除し、異なる結果を比較して、最大の結果を取得します。

しかし、効率的なアプローチを使用すれば、つまり、最小限の冗長ビットを削除すれば、これを行うことができます。

効率的な方法

効率的な方法は、結果への影響が最小限です。

  • まず、右から順に見ていきます。

  • 0 を検索し、最初のカウンターで削除します。

  • 0 が見つからない場合は、ビットが削除されます。

効率的なメソッドの C コード

#include <bits/stdc++.h>
using namespace std;
int main(){
    string str = "1011";
    bool flag = false;
    int n = str.length();
    // Initialising new array for
    char res[n - 1];
    int j = 0;
    // traversing through the binary number from right.
    for (int i = 0; j < n - 1; i++) {
        // if 0 is found then skip it.
        if (str[i] == &#39;0&#39; && flag == false) {
            flag = true;
            continue;
        }
        else
            res[j++] = str[i];
    }
    // printing the resulting string.
    cout << "Maximum number: " << res;
    return 0;
}
ログイン後にコピー

出力

Maximum number: 111
ログイン後にコピー

上記のコードの説明

  • フラグ変数を使用して、0 が 1 つだけ削除されるようにします。

  • 結果番号を格納するために文字配列 res を初期化します。

  • 元の数値より 1 つ少ない要素を保存する必要があるため、ループは n-1 まで実行されます。

  • #ループは n-1 まで実行されます。 p>

結論

このチュートリアルでは、1 桁を削除した後の最大数を見つける方法について説明しました。私たちはこの問題を解決する 2 つの方法について話し合いました。

このために C コードも作成しました。これらのコードは、C、Java、Python などの他の言語で作成できます。このチュートリアルがお役に立てば幸いです。

以上がC++ では、2 進数の 1 ビットを削除して最大値を取得します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

小紅書でフォロワーを削除する方法. ブロックせずにフォロワーを削除する方法。 小紅書でフォロワーを削除する方法. ブロックせずにフォロワーを削除する方法。 Mar 12, 2024 pm 04:40 PM

小紅書アプリでは誰もが多くの情報を入手できます。ここには多くの機能とサービスがあり、ユーザーはすべて自由に操作でき、自分のニーズに応じて、ここで対応する機能と操作を選択して問題を解決できます。あなたの質問の中には、特に便利なものもあります。毎日、これらのノートをたくさんお勧めします。内容が豊富で、広範囲をカバーしています。ここでどのコンテンツ セクションを見たいかに関係なく、自由に選択できます。私たちはここにいるすべての人を満足させ、あなたの問題のいくつかを解決することができます。暇なときに、自分でさまざまなメモを投稿してみてください。おそらく誰でも多くのファンを獲得する機会があるので、何人かを失いたくないでしょう。ファンが注意すれば、これを削除することもできます

math.Max 関数を使用して、一連の数値の最大値を取得します math.Max 関数を使用して、一連の数値の最大値を取得します Jul 24, 2023 pm 01:24 PM

math.Max 関数を使用して、一連の数値の最大値を取得します。数学やプログラミングでは、一連の数値の最大値を見つけることが必要になることがよくあります。 Go 言語では、数学パッケージの Max 関数を使用してこの関数を実現できます。この記事では、 math.Max 関数を使用して一連の数値の最大値を取得する方法と、対応するコード例を紹介します。まず、数学パッケージをインポートする必要があります。 Go 言語では、以下に示すように、import キーワードを使用してパッケージをインポートできます。

二進数の計算方法 二進数の計算方法 Jan 19, 2024 pm 04:38 PM

2 進数演算は 2 進数に基づいた演算方法であり、その基本演算には加算、減算、乗算、除算が含まれます。 2 進算術には、基本的な演算に加えて、論理演算、変位演算、その他の演算も含まれます。論理演算には AND、OR、NOT などの演算が含まれ、変位演算には左シフト演算と右シフト演算が含まれます。これらの操作には、対応するルールとオペランド要件があります。

C言語を使用して2進数を16進数に変換するにはどうすればよいですか? C言語を使用して2進数を16進数に変換するにはどうすればよいですか? Sep 01, 2023 pm 06:57 PM

2 進数は 1 と 0 で表されます。 16 ビットの 16 進数体系は、2 進表現から 16 進表現に変換するために、{0,1,2,3…..9,A(10),B(11),…F(15)} となります。文字列 ID は、最下位側から始まるニブルと呼ばれる 4 ビットのチャンクにグループ化されます。各ブロックは、対応する 16 進数に置き換えられます。 16 進数と 2 進数の表現を明確に理解するために例を見てみましょう。 001111100101101100011101 3 E 5 B&N

EDVAC の 2 つの主な改良点は何ですか? EDVAC の 2 つの主な改良点は何ですか? Mar 02, 2023 pm 02:58 PM

EDVAC には 2 つの大きな改良点があります。1 つはバイナリの使用、もう 1 つは保存されたプログラムの完成です。これは、あるプログラム命令から次のプログラム命令に自動的に進み、その操作は命令を通じて自動的に完了できます。 「命令」にはデータやプログラムが含まれており、それらはコードの形で機械の記憶装置に入力されます、つまり、データを格納する同じ記憶装置を使用して、演算を実行するための命令を格納するという新しい概念です。 - 保存されたプログラムと呼ばれます。

jQueryで要素の高さ属性を削除するにはどうすればよいですか? jQueryで要素の高さ属性を削除するにはどうすればよいですか? Feb 28, 2024 am 08:39 AM

jQueryで要素の高さ属性を削除するにはどうすればよいですか?フロントエンド開発では、要素の高さ属性を操作する必要が生じることがよくあります。要素の高さを動的に変更する必要がある場合や、要素の高さ属性を削除する必要がある場合があります。この記事では、jQuery を使用して要素の高さ属性を削除する方法と、具体的なコード例を紹介します。 jQuery を使用して高さ属性を操作する前に、まず CSS の高さ属性を理解する必要があります。 height 属性は要素の高さを設定するために使用されます

Golang でバイナリ ファイルを読み取るにはどうすればよいですか? Golang でバイナリ ファイルを読み取るにはどうすればよいですか? Mar 21, 2024 am 08:27 AM

Golang でバイナリ ファイルを読み取るにはどうすればよいですか?バイナリ ファイルは、コンピュータが認識して処理できるデータを含む、バイナリ形式で保存されたファイルです。 Golang では、いくつかのメソッドを使用してバイナリ ファイルを読み取り、必要なデータ形式に解析できます。 Golangでバイナリファイルを読み込む方法と具体的なコード例を紹介します。まず、OS パッケージの Open 関数を使用してバイナリ ファイルを開く必要があります。これにより、ファイル オブジェクトが返されます。それから私たちは作ることができます

コンピューター内でバイナリを使用する主な理由は何ですか? コンピューター内でバイナリを使用する主な理由は何ですか? Apr 04, 2019 pm 02:25 PM

コンピュータが 2 進法を使用する主な理由: 1. コンピュータは論理回路で構成されています。論理回路には通常、スイッチのオンとオフの 2 つの状態しかなく、これら 2 つの状態は「1」と「0」で表すことができます。 . 2 進法では 0 と 1 の 2 つの数値のみが使用されるため、送信時や処理時にエラーが発生しにくく、コンピュータの信頼性が高くなります。

See all articles