Có n số lượng khán giả trong sân vận động và chúng được đánh dấu từ 1 đến n. Bây giờ hãy làm theo các trường hợp này -
-
Tại thời điểm t 1 , khán giả đầu tiên đứng.
-
Tại thời điểm t 2 , khán giả đứng thứ hai.
-
…
-
Tại thời điểm t k , khán giả đứng thứ k.
-
Tại thời điểm t k + 1 , khán giả thứ (k + 1) đứng và khán giả đầu tiên ngồi.
-
Tại thời điểm t k + 2 , khán giả thứ (k + 2) đứng và khán giả thứ hai ngồi.
-
…
-
Tại thời điểm t n , khán giả thứ n đứng và khán giả thứ (n - k) ngồi.
-
Tại thời điểm t n + 1 , khán giả thứ (n + 1 - k) ngồi.
-
…
-
Tại thời điểm t n + k , khán giả thứ n ngồi.
Vì vậy, nếu đầu vào là n =11, k =6, t =4, thì đầu ra sẽ là 4 tại thời điểm t1, khán giả thứ nhất đứng, sau đó tại thời điểm t2, khán giả thứ 2 đứng sau đó tại thời điểm t3, khán giả thứ 3 khán đài, và cuối cùng tại thời điểm t4, khán giả thứ 4 đứng. Theo cách này, kết quả là 4 vì tổng cộng có 4 khán giả đứng.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
nếu t <=k thì
-
trả lại t
-
-
ngược lại khi t <=n thì
-
trả lại k
-
-
nếu không,
-
res:=t - n
-
res:=k - res
-
-
trả lại res
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
def how_many_stand(n, k, t) : if (t <= k) : return t elif (t <= n) : return k else : res = t - n res = k - res return res n = 11 k = 6 t = 4 print(how_many_stand(n, k, t))
Đầu vào
11, 6, 4
Đầu ra
4