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