Giả sử chúng ta có ba số n, a và b. Hãy xem xét chúng ta đang ở trong một dòng gồm n người. Và chúng tôi không biết về vị trí của chúng tôi trong hàng. Nhưng chúng ta biết có ít nhất một số người ở phía trước và nhiều nhất là b số người phía sau chúng ta. Chúng tôi phải tìm ra số lượng các vị trí có thể có cho chúng tôi.
Vì vậy, nếu đầu vào là n =10 a =3 b =4, thì đầu ra sẽ là 5, vì có 10 người trong hàng và ít nhất 3 người ở phía trước và nhiều nhất 4 người ở phía sau. Vì vậy, chúng tôi đang ở bất kỳ nơi nào [0, 1, 2, 3, 4]. Khi chúng ta ở vị trí 0 thì 9 người ở phía trước, 0 ở phía sau, v.v.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
nếu a + b
-
trả về b + 1
-
-
nếu a + b> =n thì
-
return n - a
-
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn
def solve(n, a, b):
if a + b < n:
return b + 1
if a + b >= n:
return n - a
n = 10
a = 3
b = 4
print(solve(n, a, b)) Đầu vào
10, 3, 4
Đầu ra
5