檢查在 Python 中是否可以在島上生存


假設有一個島嶼。該地點只有一家商店,這家商店始終營業,除了星期天。我們有以下值作為輸入 -

  • N(某人每天最多可以購買的食物數量)。
  • S(某人需要生存的天數)。
  • M(每天生存所需的食品數量)。

如果今天是星期一,我們需要在接下來的 S 天內生存。我們必須檢查我們是否能夠生存,如果可以,找到我們需要購買食品的最少天數,以便我們能夠在接下來的 S 天內生存。

因此,如果輸入類似於 S = 12、N = 24、M = 3,則輸出將為 True,我們需要購買食品的最少天數為 2,因為我們可以使用 24 單位的食物生存 8 天(從當前星期一到下一個星期一),然後再次購買 12 單位的食物以供未來 4 天使用。

為了解決這個問題,我們將遵循以下步驟 -

  • 如果 (N * 6 < M * 7 且 S > 6) 或 M > N,則
    • 返回 False
  • 否則,
    • count := (M * S) / N 的商
    • 如果 (M * S) 可以被 N 整除,則
      • count := count + 1
  • 返回 True 和 count

示例

讓我們看看以下實現以更好地理解 -

 即時演示

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)

更新於: 2021年1月19日

402 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.