Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 앞뒤 사람이 거의 없는 n인 라인에서 가능한 위치의 수를 찾는 프로그램

<시간/>

세 개의 숫자 n, b가 있다고 가정합니다. 우리가 n명의 줄에 있다고 생각해 보십시오. 그리고 우리는 라인에서 우리의 위치에 대해 알지 못합니다. 그러나 우리는 우리 앞에 최소 수의 사람들이 있고 우리 뒤에 기껏해야 b 수의 사람들이 있다는 것을 알고 있습니다. 가능한 위치의 수를 찾아야 합니다.

따라서 입력이 n =10 a =3 b =4와 같다면 출력은 5가 됩니다. 줄에 10명이 있고 최소 3명이 앞에 있고 최대 4명이 뒤에 있기 때문입니다. 따라서 우리는 [0, 1, 2, 3, 4]에 있습니다. 위치 0에 있을 때 9명이 앞에 있고 0명이 뒤에 있는 식입니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • a + b

    • 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