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

軍隊で特定のランクに到達するまでの年数をカウントするC++コード


n-1個の要素と2つの値aとbを持つ配列Dがあるとします。軍隊には、1からnまでの番号が付けられたnrankがあります。ランクiからランクi+1に上がるにはD[i]年が必要です。アマルは新しいランク「a」に到達したばかりですが、ランク「b」に到達したいと考えています。彼が目標を達成するために必要な年数を数える必要があります。

したがって、入力がD =[5、6]のような場合; a =1; b =3の場合、出力は11になります。

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

n := size of D
s := 0
for initialize i := a - 1, when i < b - 1, update (increase i by 1),
do:
   s := s + D[i]
return s

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

#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> D, int a, int b){
   int n = D.size() + 1;
   int s = 0;
   for (int i = a - 1; i < b - 1; i++){
      s = s + D[i];
   }
   return s;
}
int main(){
   vector<int> D = { 5, 6 };
   int a = 1;
   int b = 3;
   cout << solve(D, a, b) << endl;
}

入力

{ 5, 6 }, 1, 3

出力

11

  1. ロボットが最終位置に到達するまでのステップをカウントするC++コード

    2つの座標(x1、y1)と(x2、y2)があるとします。ロボットがポイント(x1、y1)にいて、ポイント(x2、y2)に移動しようとしています。 1つのステップで、ロボットは1つのセルに向かって8つの隣接する座標に移動できます。最終的な位置に到達するために必要な最小限のステップ数を見つける必要があります。 したがって、入力がx1=3のような場合。 y1 =4; x2 =6; y2 =1;の場合、出力は3になります。 ステップ これを解決するには、次の手順に従います- return maximum of |x2 - x1| and |y2 - y1| 例 理解を深めるために、次の実装

  2. C++の平面内の平行四辺形の数

    平行四辺形を形成する点を含む平面が与えられます。タスクは、与えられた点を使用して形成できる平行四辺形の数を計算することです。平行四辺形では、四辺形の反対側は平行であるため、反対の角度は等しくなります。 入力 − int a[] = {0, 2, 5, 5, 2, 5, 2, 5, 2} Int b[] = {0, 0, 1, 4, 3, 8, 7, 11, 10} 出力 −平面内の平行四辺形の数− 3 説明 −(x、y)点が与えられ、これらの点を使用して、図に示すように3つの平行四辺形のカウントを形成できます。 入力 − a[] = {0, 3, 1, 4, 1, 5} b