使用 Python 查詢體育場在時間 t 時站立的觀眾數量


體育場裡有 n 個觀眾,他們從 1 到 n 編號。現在遵循以下情況 -

  • 在時間 t1,第一個觀眾站立。

  • 在時間 t2,第二個觀眾站立。

  • 在時間 tk,第 k 個觀眾站立。

  • 在時間 tk + 1,第 (k + 1) 個觀眾站立,第一個觀眾坐下。

  • 在時間 tk + 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

  • 返回 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

更新於: 2020-08-27

50 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.