統計在軍隊中達到特定軍銜所需年數的 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 次瀏覽

開啟您的 事業

透過完成課程獲得認證

開始學習
廣告