指定された配列を 2 つの半分に分割し、K 回循環シフトを実行した後、ビットごとの OR を使用して配列の合計を求めます。
C では、配列の分割とは、配列を複数の部分配列に分割することを意味します。ビットごとの OR 演算子は、C の 2 つのビットごとの OR インデックス間の比較と計算を処理します。この記事では、k 回の循環シフトを使用します。これは、最後のインデックス位置がゼロのインデックス位置、つまり k 回に従って最初の配列要素に移動されることを意味します。
配列内の循環シフトを理解するために例を見てみましょう。
指定された配列は 1、2、3、4、5、6、7 で、長さは 6 です。
次に、値 3 を k に割り当てます。これは、k 回の循環シフトを意味します。
循環シフトの操作手順は次のとおりです。
ステップ1 -index[6]をindex[1]に移動し、index[5]がindex[6]の位置を保存します。最初の循環シフトは 7,1,2,3,4,5,6 となるため、循環シフトは回転します。
ステップ 2 - 2 番目の循環シフト - 6,7,1,2,3,4,5
3 番目のステップ - 3 番目の循環シフト - 5、6、7、1、2、3、4 (最終結果)
###文法### リーリー- Vector がキーワードとして使用され、データ型はユーザーが指定したデータ型です。最後に、vector_name はユーザーが割り当てたベクトルの名前を表します。
-
- mod(%)
演算子を使用して配列を 2 つの半分に分割します。ビットごとの OR '|' を使用すると、2 つの要素の各要素の値を取得できます。半分の値。
- 'arr[(i k)%arr.size()]'
ビットごとの OR 演算を実行するときのシフト インデックスを表します。これにより、分割配列内の 2 つの要素が得られます。 'splitArray[i%2]'の対応に依存します。
###アルゴリズム###
ヘッダー ファイル
'iostream'- と
- 'vector'
を使用してプログラムを開始します。
'Split_arr_sum_bitwise' という関数を定義します。この関数は、 - 'arr'
と 'k' をパラメータとして受け取ります。この関数は、配列値と循環シフト後の更新された配列値を受け取ります。 関数
'Split_arr_sum_bitwise' 内で、 - 'splitArray'
という名前のベクトル変数を初期化します。この関数は配列の両方の半分を保存します。 次に、ビット単位の OR 演算子 '|' を使用して変数 sum に値 0 を格納します。この値は、後で
'splitArray' という名前の関数を使用して配列に追加されます。 次に、元の配列を反復処理する最初の for ループを作成します。
-
次に、ビット演算子
‘|’ を使用して 2 つの半分の合計を計算する 2 番目の for ループを作成します。この演算子は、K 回循環シフトした後、配列を 2 つの半分に分割します。 -
次に main 関数を開始します。ここでは、配列値を
'array' 変数に初期化し、値 - '3'
を変数 ' に保存します。 k '、この変数は、指定された配列の回転シフトの数を定義します。 最後に、print ステートメントで、
'Split_arr_sum_bitwise' という名前の関数を呼び出し、パラメータ - 'K'
と 'array'これを渡して最終出力を取得します。 Example
の中国語訳は次のとおりです: Example
このプログラムでは、ビット単位の OR 演算子を使用して配列の合計を実装し、K 回循環シフトした後、配列を 2 つの半分に分割します。
リーリー ###出力### リーリー ###結論は###配列が半分に分割される K 循環シフトの概念を検討し、ビットごとの OR 演算が合計を実行して分割された配列の値を保存する方法も確認しました。 % モジュロ演算子は配列を半分に分割し、配列インデックス位置でのパリティ計算を示します。
以上が指定された配列を 2 つの半分に分割し、K 回循環シフトを実行した後、ビットごとの OR を使用して配列の合計を求めます。の詳細内容です。詳細については、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)

ホットトピック

この記事では、C標準テンプレートライブラリ(STL)について説明し、そのコアコンポーネント(コンテナ、イテレーター、アルゴリズム、およびファンクター)に焦点を当てています。 これらが一般的なプログラミングを有効にし、コード効率を向上させ、読みやすさを改善する方法を詳述しています。

この記事では、cの効率的なSTLアルゴリズムの使用について詳しく説明しています。 データ構造の選択(ベクトル対リスト)、アルゴリズムの複雑さ分析(STD :: STD :: STD :: PARTIAL_SORTなど)、イテレーターの使用、および並列実行を強調しています。 のような一般的な落とし穴

この記事では、Cでの効果的な例外処理、トライ、キャッチ、スローメカニックをカバーしています。 RAIIなどのベストプラクティス、不必要なキャッチブロックを避け、ログの例外をロギングすることを強調しています。 この記事では、パフォーマンスについても説明しています

この記事では、Cでの動的発送、そのパフォーマンスコスト、および最適化戦略について説明します。動的ディスパッチがパフォーマンスに影響を与え、静的ディスパッチと比較するシナリオを強調し、パフォーマンスとパフォーマンスのトレードオフを強調します

この記事では、不必要なコピーを回避することにより、パフォーマンスを向上させるために、CのMove Semanticsを使用することについて説明します。 STD :: MOVEを使用して、移動コンストラクターと割り当てオペレーターの実装をカバーし、効果的なAPPLの重要なシナリオと落とし穴を識別します

C 20の範囲は、表現力、複合性、効率を伴うデータ操作を強化します。複雑な変換を簡素化し、既存のコードベースに統合して、パフォーマンスと保守性を向上させます。

記事では、移動セマンティクス、完璧な転送、リソース管理のためのcでのr値参照の効果的な使用について説明し、ベストプラクティスとパフォーマンスの改善を強調しています。(159文字)

Cメモリ管理は、新しい、削除、およびスマートポインターを使用します。この記事では、マニュアルと自動化された管理と、スマートポインターがメモリリークを防ぐ方法について説明します。
