Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ đếm phút cần tăng độ dài que để tạo tam giác


Giả sử chúng ta có ba số a, b và c. Có ba que có độ dài a, b và c. Trong một phút, chúng ta có thể chọn một que tùy ý và tăng độ dài của nó lên 1 cm, nhưng không thể gãy que. Chúng ta phải đếm số phút tối thiểu cần để tăng độ dài của chúng và có thể tạo thành một tam giác.

Ví dụ, nếu đầu vào là a = 2; b = 3; c = 5, thì đầu ra sẽ là 1, vì bằng cách tăng a hoặc b lên 1, ta có thể tạo tam giác (a + b) > c. Vì vậy một phút là đủ.

Các bước

Để giải quyết bài toán này, chúng ta sẽ làm theo các bước sau:

Định nghĩa mảng A = { a, b, c } sắp xếp mảng A return maximum của (A[2] - A[1] - A[0] + 1) và 0

Ví dụ

Xem triển khai sau để hiểu rõ hơn:

#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; }

Đầu vào

2, 3, 5

Đầu ra

1