Python程式:查詢n個人排成一列,且至少有a個人在前面、最多有b個人在後面的所有可能位置


假設我們有三個數字n、a和b。考慮我們在一隊n個人中。我們不知道自己在隊伍中的位置。但我們知道至少有a個人在我們前面,最多有b個人在我們後面。我們必須找到我們可能的位置數量。

因此,如果輸入類似於n = 10 a = 3 b = 4,則輸出將為5,因為隊伍中有10個人,至少有3個人在前面,最多有4個人在後面。所以我們在任何位置[0, 1, 2, 3, 4]。當我們在位置0時,前面有9個人,後面有0個人,依此類推。

為了解決這個問題,我們將遵循以下步驟:

  • 如果 a + b < n,則

    • 返回 b + 1

  • 如果 a + b >= n,則

    • 返回 n - a

示例

讓我們看看下面的實現以獲得更好的理解

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

輸入

10, 3, 4

輸出

5

更新於: 2021年10月11日

103 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.