使用Python寻找n人排队时在前面和后面有少数人的可能位置数

使用Python寻找n人排队时在前面和后面有少数人的可能位置数

假设我们有三个数字n,a和b。考虑我们排成n个人的一队。我们不知道自己在队伍中的位置,但我们知道前面至少有a个人,后面最多有b个人。我们需要找出可能的位置数量。

因此,如果输入如n = 10,a = 3,b = 4,则输出将为5,因为队列中有10人,至少有3人在前面,最多有4人在后面。因此,我们可能在任何位置[0,1,2,3,4]。当我们在位置0时,前面有9个人,后面没有人,依此类推。

要解决这个问题,我们将遵循以下步骤−

  • 如果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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程