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

バッテリーコンボの数を調べるためのC++コード


最大5回使用できるバッテリーがn個あるとします。 3つのバッテリーを必要とするデバイスがいくつかあり、デバイスを使用するたびにバッテリーの使用数が1つ増えます。デバイスをk回使用する必要がある場合、デバイスに電力を供給するためにいくつのバッテリーの組み合わせを作成できるかを調べる必要があります。 2台の機器で同時に使用することはできません。また、5回使用した電池を含めることはできません。バッテリーの使用回数はアレイバットに記載されています。

したがって、入力がn =6、k =2、batt ={2、4、4、2、1、3}のような場合、出力は1になります。

k回デバイスに電力を供給するために作成できるバッテリーの組み合わせは1つだけです。

ステップ

これを解決するには、次の手順に従います-

ans := 0
for initialize i := 0, when i < n, update (increase i by 1), do:
   if batt[i] + k <= 5, then:
      (increase ans by 1)
return ans / 3

理解を深めるために、次の実装を見てみましょう

#include <bits/stdc++.h>
using namespace std;
#define N 100
int solve(int n, int k, int batt[]) {
   int ans = 0;
   for(int i = 0; i < n; i++){
      if(batt[i] + k <= 5)
         ans++;
   }
   return ans / 3;
}
int main() {
   int n = 6, k = 2, batt[] = {2, 4, 4, 2, 1, 3};
   cout<< solve(n, k, batt);
   return 0;
}

入力

6, 2, {2, 4, 4, 2, 1, 3}

出力

1

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

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

  2. C++でスター番号を見つけるプログラム

    この問題では、数nが与えられます。私たちのタスクは、C++でスター番号を見つけるプログラムを作成することです 。 スター番号 中央の六芒星(六芒星)を表す特別な数字です。 開始番号には、1、13、37、73、121があります。 問題を理解するために例を見てみましょう 入力 n = 5 出力 121 ソリューションアプローチ n番目の番目を見つけるには 星の数は式を使用します。 星の数の一般式を見てみましょう。 n = 2 -> 13 = 12 + 1 = 6(2) + 1 n = 3 -> 37 = 36 + 1 = 6(6) + 1 n = 4 -> 73 =