C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で隠し番号を見つけるプログラム


この問題では、n個の整数値で構成される配列arr[]です。私たちのタスクは、C++で隠し番号を見つけるプログラムを作成することです。 。

コードの説明 −配列の場合、隠し数は、配列の各要素から減算すると合計が0になる数です。

問題を理解するために例を見てみましょう

入力

arr[] = {4, 1, 6, 7, 2}

出力

4

配列のすべての要素から4を引きます。そして価値の追加

= (1 - 4) + (6 - 4) + (7 - 4) + (4 - 2)
= -3 + 2 + 3 - 2 = 0

ソリューションアプローチ

この問題を解決するには、配列のすべての要素の合計を計算する必要があります。次に、合計を配列の要素の総数で割ります。sum/(要素の数)の値が整数の場合、それは非表示の数です。

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;
int calcHiddenNumber(int arr[], int n){
   long int sum = 0;
   for(int i = 0; i < n; i++){
      sum = sum + arr[i];
   }
   int hidNum = (sum / n);
   if((hidNum * n) == sum )
      return hidNum;
   else
      return -1;
}
int main() {
   int n = 4;
   int arr[] = { 4, 11, 12, 21 };
   cout<<"The hidden number for the array is "<<calcHiddenNumber(arr, n);
   return 0;
}

出力

The hidden number for the array is 12

  1. グリッド内の照らされたセルの数を見つけるためのC++プログラム

    次元h*wのグリッドが与えられていると仮定します。グリッド内のセルには、球根または障害物のいずれかを含めることができます。電球のセルはそれ自体とその右、左、上、下のセルを照らし、障害物のセルが光を遮らない限り、光はセルを通して輝くことができます。障害物セルは照明できず、電球セルからの光が他のセルに到達するのを防ぎます。したがって、配列「bulb」内のグリッド内の電球セルの位置と配列「obstacles」内の障害物セルの位置を考えると、照らされているグリッド内のセルの総数を見つける必要があります。 したがって、入力がh =4、w =4、bulb ={{1、1}、{2、2}、{3、3}}、障害物

  2. C++で最も深いノードの合計を見つけるプログラム

    二分木があるとしましょう。その最も深い葉の値の合計を見つける必要があります。したがって、ツリーが次のような場合- その場合、出力は11になります。 これを解決するには、次の手順に従います- マップmとmaxDepthを定義します 再帰メソッドsolve()を定義します。これはノードとレベルを取り、最初はレベルは0です ノードが存在しない場合は、戻ります maxDepth:=レベルの最大値とmaxDepth ノードの値だけm[レベル]を増やします 解決(ノードの左側、レベル+ 1) 解決(ノードの右側、レベル+ 1) mainメソッドで