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.