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

Python으로 Island에서 생존이 가능한지 확인

<시간/>

섬이 있다고 가정해 봅시다. 그 위치에 단 하나의 상점이 있습니다. 이 상점은 일요일을 제외하고 항상 열려 있습니다. 입력으로 다음 값이 있습니다 −

  • N(하루에 살 수 있는 최대 음식 수).
  • S(생존에 필요한 일수).
  • M(생존을 위해 매일 필요한 음식의 수).

월요일이라면 다음 S일 동안 생존해야 합니다. 우리가 생존할 수 있는지 여부를 확인해야 합니다. 식량을 사야 하는 최소 일수를 찾을 수 있다면 다음 S일을 버틸 수 있습니다.

따라서 입력이 S =12, N =24, M =3과 같으면 출력은 True이고 음식을 사야 하는 최소 일수는 2입니다. 우리가 8일 동안 생존할 수 있기 때문입니다(현재 월요일부터 다음 월요일까지) 24단위의 음식을 사용하고 다음 4일 동안 12단위를 다시 구매합니다.

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

  • if (N * 6 6) 또는 M> N, then
    • 거짓을 반환
  • 그렇지 않으면
    • count :=(M * S) / N의 몫
    • (M * S)가 N으로 나누어지면
      • 카운트 :=카운트 + 1
  • 참을 반환하고 계산

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def solve(S, N, M):
   if ((N * 6) < (M * 7) and S > 6) or M > N:
      return False
   else:
      count = (M * S) // N
      if ((M * S) % N) != 0:
         count += 1
      return (True, count)
S = 12
N = 24
M = 3
print(solve(S, N, M))

입력

12, 24, 3

출력

(True, 2)