-
特別な行列要素の合計を見つけるためのC++コード
次元n*nの正方行列が与えられたと仮定します。行列の次の値は、特殊要素と呼ばれます- 主対角線にある値。 2番目の対角線にある値。 その上に正確に(n --1/2)行があり、その下に同じ数の行がある行の値。 左右に正確に(n --1/2)列ある列の値。 これらの特別な値の合計をマトリックスで見つけます。 したがって、入力がn =4、mat ={{1、2、3、4}、{5、6、7、8}、{9、10、11、12}、{13、14、15 、16}}の場合、出力は107になります。 ステップ これを解決するには、次の手順に従います- res := 0 for initia
-
特殊な数値の合計桁数を検索するC++コード
整数kが与えられたとしましょう。その番号のすべての桁が同じである場合、その番号を特別な番号と呼びます。たとえば、1、11、1111は特別な番号です。特別な番号は、1、11、111、1111、2、22、222、2222、3、33、333、3333などの順序でカウントされます。 kまでの特殊数の合計桁数を調べる必要があります。 kの値は10000以下です。 したがって、入力がk =9999のような場合、出力は90になります。 ステップ これを解決するには、次の手順に従います- s := convert k to string Define an array v of size: := {0,
-
私たちが行った総売上高を調べるためのC++コード
4つのアイテムを販売していて、i番目のアイテムの価格が配列cost[i]で指定されているとします。現在、文字列「items」で指定された順序でアイテムを販売しています。私たちは、私たちが行った総売上高を知る必要があります。文字列「items」には1〜4の整数が含まれ、重複が存在する可能性があり、任意の順序にすることができます。 したがって、入力がcost ={10、15、10、5}、items =14214331の場合、出力は75になります。 ステップ これを解決するには、次の手順に従います- total := 0 for initialize i := 0, when i < si
-
画像が白黒かカラーかを確認するためのC++コード
n個のピクセルを含む画像が与えられたとします。ピクセルは次の色にすることができます- 「C」(シアン) 「M」(マゼンタ) 「Y」(黄色) 「W」(白) 「G」(灰色) 「B」(黒) i番目のピクセルの色は文字列「pixels」で指定されます。文字列を考えると、与えられた写真がカラフルなのか白黒なのかを調べる必要があります。カラー写真の場合は、少なくとも1ピクセルの色「C」、「M」、「Y」が含まれ、「色」が印刷されます。それ以外の場合は、「W」、「G」、「B」の色のピクセルのみが含まれ、「BW」が印刷されます。 したがって、入力がn =10、pixe
-
床を照らすのに必要なランプを見つけるためのC++コード
n行m列のグリッドに分割されたフロアがあるとします。今、床はランプを使って照らされなければなりません。ランプを2つのセルの境界に配置すると、2つのセルを照らすことができます。ランプを垂直方向の境界線に配置すると、セルが左右に点灯し、水平方向の境界線に配置すると、セルが前後に点灯します。 nとmが与えられた場合、床全体を照らすのに必要なランプの最小数を見つける必要があります。 したがって、入力がn =5、m =3の場合、出力は8になります。 ステップ これを解決するには、次の手順に従います- res := (n * m + 1) / 2 return res 例 理解を深めるために、次の実
-
文字列を印刷するためのダイヤル回転数を見つけるためのC++コード
すべての小文字の英語のアルファベットを含む回転式ダイヤルが与えられたとします。文字盤にはプリンターが付いており、回転式ダイヤルのポインターに3秒間留まっている文字が印刷されます。回転式ダイヤルは最初は文字「a」のままで、文字を印刷するたびに初期位置にリセットされません。文字列sが与えられ、与えられた文字列を印刷する必要があります。ダイヤルを別の文字に移動するたびに、1回転が発生します。指定された文字列「s」を印刷するために必要な回転の合計量を確認する必要があります。 したがって、入力がs =elephantのような場合、出力は63になります。 ステップ これを解決するには、次の手順に従いま
-
最小の算術平均偏差を見つけるためのC++コード
3つの要素を持つ配列Aがあるとします。 A [1]は、A [0] + A [2] =2 * A [1]の場合、2つの要素A[0]とA[3]の算術平均です。 3つの数値d(A [0]、A [1]、A [2])の算術平均偏差は| A [0] + A [2]-2 * A[1]|です。次の操作は何度でも実行できます。インデックス{0、1、2}からi!=jとなる2つのインデックスiとjを選択し、A [i]を1増やし、A[j]を1減らします。算術平均偏差の最小値を見つける必要があります。 したがって、入力がA =[2、2、6]の場合、出力は1になります。これは、A[0]を減らしてA[1]を増やすと、配列
-
最初の学生に割り当てることができる最大スコアを見つけるためのC++コード
n個の要素と数mの配列Aがあるとします。アネクサムをしている学生はn人います。最高のスコアはmです。 A[i]はi番目の生徒のスコアです。各学生のスコアを操作することはできますが、条件が満たされている必要があります。スコアはmを超えることはなく、すべてのスコアは整数であり、すべての生徒の平均点は変わりません。一人称のスコアを最大化したい場合、私たちが与えることができる最高のスコアは何になりますか。 したがって、入力がA =[1、2、3、4]のような場合; m =10の場合、出力は10になります。平均が2.5であるため、スコア[10、0、0、0]を設定できます。ここで、平均は同じですが、最初の
-
差がnである合成数を見つけるためのC++コード
数nがあるとします。 a --b =nとなるように、2つの合成整数(非素数)aとbを見つける必要があります。 したがって、入力がn =512のような場合、出力は4608と4096になります ステップ これを解決するには、次の手順に従います- print 10*n and 9*n. 例 理解を深めるために、次の実装を見てみましょう- #include<bits/stdc++.h> using namespace std; void solve(int n){ cout<<10*n<<", "<<9
-
再エンゲージメントをチェックするC++コードは、要素の合計が最大でxになるように実行できます。
サイズnの2つの配列AとB、および別の数xがあるとします。 0からn-1の範囲のすべてのiについて、A [i] + B [1] <=xとなるように、Bの要素を再配置できるかどうかを確認する必要があります。 したがって、入力がA =[1、2、3]のような場合。 B =[1、1、2]; x =4の場合、出力はTrueになります。これは、[1、2、1]のようにBを配置した場合、合計値は1 + 1 <=4、2 + 2 <=4、および3 + 1<=4になるためです。 。 ステップ これを解決するには、次の手順に従います- n := size of A ans := 1 sum := 0 for in
-
配列をチェックするためのC++コードは、EqualNot-Equalシーケンスから形成できるかどうか
長さ.の文字列Sがあるとします。 n個の数があり、それらが円形に配置されていると考えてください。これらの数値の値はわかりませんが、S [i] =Eの場合、i番目と(i + 1)番目の数値が同じであることを示しますが、それが Nの場合、それらは異なります。 Sから、シーケンスを再作成できるかどうかを確認する必要があります。 したがって、入力がS =ENNEENEのような場合、[15,15,4,20,20,20,15]のような値を割り当てることができるため、出力はTrueになります。 ステップ これを解決するには、次の手順に従います- if S has single 'N',
-
kを超えずにコピー操作をカウントするC++コード
n個の要素と別の数kの配列Aがあるとします。キャンディーの山はn個あります。 i番目の山にはA[i]個のキャンディーがあります。 2つのインデックスiとj(i!=j)で操作を実行してから、別のA[i]個のキャンディーをA[i]に追加できます(A [i]は減少しません)。この操作は何度でも実行できますが、残念ながら、一部のパイルにk個を超えるキャンディーが厳密に含まれていると、操作を実行できなくなります。この操作を実行できる最大回数を見つける必要があります。 したがって、入力がA =[1、2、3]のような場合。 k =5の場合、出力は5になります。これは、i =0を取ることができ、j =1の場
-
パックサイズをチェックするC++コードは、指定された範囲から決定できます
2つの数lとrがあるとします。お店があり、「a」個の食品が入った食品容器を割引価格で販売したいのですが、x個の食品を購入したいというお客様もいらっしゃいます。欲張り戦略に従っている顧客- 彼は(x / a)パックのフロアを割引価格で購入します 次に、残りの(x mod a)食品を1つずつ購入したいと考えています。 しかし、顧客は貪欲であるため、(x mod a)食品を1つずつ購入したい場合、(x mod a)≥a/ 2になると、食品のパック全体を購入することにします。顧客はlからrの範囲(両方を含む)の食品をいくつでも購入できます。各顧客が最初に望んでいたよりも多くの缶を購入
-
バイナリ配列でクエリ操作を処理するC++コード
n個の要素を持つ配列Aと、q個のクエリを持つクエリQの別のリストがあるとします。 eachQuery [i]にはペア(x、k)が含まれています。クエリを処理するとき、xの場合:A [x]の値を1減らします。kの場合、k番目に大きい要素を出力します。最初、Aのすべての要素は0または1のいずれかです。 したがって、入力がA =[1、1、0、1、0]のような場合; Q =[[2、3]、[1、2]、[2、3]、[2、1]、[2、5]]の場合、出力は[1、1、1、0] ステップ これを解決するには、次の手順に従います- n := size of A m := 0 for initialize i :
-
電話番号をチェックするC++コードは数値文字列から形成できます
n桁の文字列Sがあるとします。正確に11桁の数字は、「8」で始まる場合は電話番号です。 1回の操作で、Sから1桁を削除できます。文字列を有効な電話番号にできるかどうかを確認する必要があります。 したがって、入力がS =5818005553985の場合、11文字で最初の桁が8の文字列 8005553985を作成できるため、出力はTrueになります。 ステップ これを解決するには、次の手順に従います- m := size of S insert '8' at the end of S if if location of 8 <= (m - 11), then:  
-
数値cおよびdを作成するための最小演算を見つけるためのC++コード
2つの数cとdがあるとします。 Amalには2つの数値aとbがあり、最初は両方ともゼロです。Amalはそれらに対して何らかの操作を実行したいと考えています。各操作を実行する前に、正の整数kが選択され、次の操作のいずれかを実行するために使用されます- aとbの両方に数kを追加する、または 数kをaに加算し、bからkを減算する、または 数kをbに加算し、aからkを減算します。 aとbをそれぞれcと等しくするために必要な操作の最小数を見つける必要があります。不可能な場合は、-1を返します。 したがって、入力がc=3のような場合。 d =5の場合、出力は2になります。これは、
-
2つの配列を同じにするための操作の数をカウントするC++コード
n個の要素を持つ2つの配列AとBがあるとします。操作について考えてみます。2つのインデックスiとjを選択し、i番目の要素を1減らし、j番目の要素を1増やします。操作を実行した後、配列の各要素は非負である必要があります。 AとBsameを作りたいです。 AとBを同じにするための操作のシーケンスを見つける必要があります。不可能な場合は、-1を返します。 したがって、入力がA =[1、2、3、4]のような場合; B =[3、1、2、4]の場合、出力は[(1、0)、(2、0)]になります。これは、i=1およびj=0の場合、配列は[2、1、3 、4]の場合、i=2およびj=0の場合、[3、1、2、4]
-
各プレーヤーのすべての合計を等しくするためのカードスプレッド方法を見つけるためのC++コード
n個の要素を持つ配列Aがあるとします。ここでnは偶数です。 A[i]はithcardに書かれた数字です。ゲームをしたい人はn/2人います。最初に、各プレイヤーは2枚のカードを取ります。カードに書かれている値の合計が各プレイヤーで同じになるようにカードを配布する方法を見つける必要があります。 したがって、入力がA =[1、5、7、4、4、3]の場合、出力は[(0、2)、(5、1)、(3、4)]になります。これは、A [ 0] + A [2] =8、A [5] + A [1]=8およびA[3]+ A[4]=8。 ステップ これを解決するには、次の手順に従います- n := size of A
-
同じ「a」と「b」のカウントで更新された文字列を取得するC++コード
長さnが偶数の文字列Sがあるとします。 Sには、「a」と「b」の2種類の文字のみが含まれます。文字列を変更して、その長さのすべてのプレフィックスに同じ量の文字「a」と「b」が含まれるようにします。これを実現するために、次の操作を任意の回数実行できます。文字列内のある位置を選択し、この位置の文字を他の文字に置き換えます。更新された文字列を返します。 したがって、入力がS =aabbbbのような場合、出力は baababになります。 ステップ これを解決するには、次の手順に従います- n := size of S for initialize i := 0, when i < n, up
-
敵を殺すための武器で最小の動きを見つけるためのC++コード
n個の要素を持つ配列Aがあり、別の数Hがあるとします。Hは敵の体力です。n個の武器があり、i番目の武器のダメージ力はA[i]です。さまざまな武器を使用して敵を殺すことができます。同じ武器を2回続けて使用することはできません。敵を殺すために武器を使用できる最小回数を数える必要があります。 したがって、入力がA =[2、1、7]のような場合; H =11の場合、出力は3になります。これは、ダメージパワーが7の武器を使用する場合、2を使用し、次に7を使用すると、敵を倒すことができるためです。 ステップ これを解決するには、次の手順に従います- sort the array A n := size