C++程式:計算將木棍長度增加到構成三角形所需的分鐘數


假設我們有三個數字a、b和c。有三根木棍,長度分別為a、b和c。一分鐘內,我們可以選擇一根任意木棍,將其長度增加1釐米,但不能折斷木棍。我們必須計算將它們的長度增加到能構成三角形所需的最小分鐘數。

因此,如果輸入類似於a = 2;b = 3;c = 5,則輸出為1,因為透過將a或b中的任何一個增加1,我們可以構成一個三角形 (a + b) > c。因此,一分鐘就足夠了。

步驟

為了解決這個問題,我們將遵循以下步驟:

Define an array A = { a, b, c }
sort the array A
return maximum of (A[2] - A[1] - A[0] + 1) and 0

示例

讓我們來看下面的實現,以便更好地理解:

#include <bits/stdc++.h>
using namespace std;

int solve(int a, int b, int c) {
   vector<int> A = { a, b, c };
   sort(A.begin(), A.end());
   return max(A[2] - A[1] - A[0] + 1, 0);
}
int main() {
   int a = 2;
   int b = 3;
   int c = 5;
   cout << solve(a, b, c) << endl;
}

輸入

2, 3, 5

輸出

1

更新於:2022年3月3日

233 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.