整数変数 Number を入力として指定します。 1 から Number までの範囲の要素をソート順に含む配列を考えてみましょう。配列に対して演算を実行すると、奇数の位置にある要素が各ステップで削除されます。次に、目標はこの操作を実行することです N 要素が 1 つだけ残るまでの回数。要素を最後に出力します。
注 -: 要素は、インデックス 0 の配列が位置 1 になるように配置されます。以下同様です。
入力番号 = 1、出力 = 1
入力番号 = 2、出力 = 2
入力数 = 3、出力 = 2
>入力数量 = 4、出力 = 4
入力数量 = 5、出力 = 4
入力数量 = 6、出力 = 4
入力数量=7、出力=4
...
入力数量=12、出力=8
入力数量=20、出力= 16
上記の観察に基づいて、2i から 2i 1-1 までの数値範囲の場合、出力は 2i になります。 .
Input-Number=7
Output- 1 回のリダクション操作後の要素は次のとおりです。 : 4
説明- 最初の要素は位置 1 にあり、以下同様です。
配列は [ 1 2 3 4 5 6 7 ]
最初の操作後: [ 2 4 6 ]
2 番目の操作後: [ 4 ]
入力 - Number=18
出力 - リダクション演算後の単一要素は次のとおりです: 4
-最初の要素は位置 1 にあり、
配列は [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ]
first After になります。 2 回目の操作: [ 2 4 6 8 10 12 14 16 18]
2 回目の操作後: [ 2 8 12 16 ]
3 回目の操作後: [ 8 16 ]
4 回目の操作後 [16]
このメソッドでは、while ループを使用して、上の式。初期値 2 から開始して、2*結果
入力変数の取得 Number
Function getsingleElement(long num) 入力された数値を取得し、上記の式に従って結果を出力します。
#結果は 2 倍になります。 li>
#結果を返します。
結果をメインに出力します。
例
#include<bits/stdc++.h> using namespace std; long getsingleElement(long num){ long result; result=2; while(result*2 <= num){ result=result*2; } return result; } int main(){ int Number = 20; cout<<"The single element after reduction operation is : "<<getsingleElement(Number) ; return 0; }
The single element after reduction operation is : 16
以上が指定された演算を使用して配列を 1 つの要素に縮小しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。