경기장에는 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