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

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와 같으면 출력은 시간 t1에서 4가 됩니다. 첫 번째 관중석은 시간 t2에서 그 다음 시간 t3에서 세 번째 관중이 서 있습니다. 그리고 마지막으로 시간 t4에서 4번째 관객이 서 있다. 이런 식으로 총 4명의 관중이 서 있기 때문에 결과는 4입니다.

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

  • t <=k이면

    • 리턴 t

  • 그렇지 않으면 t <=n일 때

    • k를 반환

  • 그렇지 않으면

    • 해상도 :=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