Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ค้นหาจำนวนผู้ชมที่ยืนอยู่ในสนามกีฬา ณ เวลา t ใน Python


มีผู้ชมจำนวน n คนในสนามกีฬา และมีป้ายกำกับตั้งแต่ 1 ถึง n คน ทำตามกรณีเหล่านี้ -

  • ณ เวลา t1 , ผู้ชมคนแรกยืนขึ้น

  • ณ เวลา t2 ผู้ชมคนที่สองยืนขึ้น

  • ณ เวลา tk , ผู้ชมที่ k-th.

  • ณ เวลา tk + 1 , ผู้ชมที่ (k + 1) - ยืนและผู้ชมคนแรกนั่ง.

  • ณ เวลา tk + 2 , ผู้ชม (k + 2) - ผู้ชมที่ (k + 2) - ผู้ชมที่สองนั่ง.

  • ณ เวลา tn ผู้ชมที่ n ยืนและผู้ชมที่ (n – k) - นั่ง

  • ณ เวลา tn + 1 , ผู้ชมที่ (n + 1 – k) - นั่ง

  • ณ เวลา tn + k ผู้ชมที่ n นั่ง

ดังนั้น หากอินพุตเป็น n =11, k =6, t =4, เอาต์พุตจะเป็น 4 ณ เวลา t1, ผู้ชมที่ 1 ยืน จากนั้นในเวลา t2, ผู้ชมที่ 2 ยืนหลังจากนั้นในเวลา t3, ผู้ชมคนที่ 3 ยืน และในที่สุด ในเวลา t4 ผู้ชมที่ 4 ยืน ด้วยวิธีนี้ผลที่ได้คือ 4 เนื่องจากมีผู้ชมทั้งหมด 4 คน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า t <=k แล้ว

    • กลับ t

  • มิฉะนั้นเมื่อ t <=n แล้ว

    • กลับ k

  • มิฉะนั้น

    • res :=t - n

    • res :=k - res

  • ผลตอบแทน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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))

อินพุต

11, 6, 4

ผลลัพธ์

4