统计在军队中达到特定军衔所需年数的 C++ 代码


假设我们有一个 n-1 元素数组 D 和两个值 a 和 b。在军队中,有从 1 到 n 编号的 n 个军衔。一个人需要 D[i] 年才能从军衔 i 晋升到军衔 i+1。阿马尔刚刚达到新的军衔“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

更新于:2022 年 3 月 15 日

167 次浏览

开启您的 事业

通过完成课程获得认证

开始学习
广告
© . All rights reserved.