检查是否有可能在 Python 岛上生存
假设有一个岛。在那个位置只有一家商店,这家商店除了星期天外一直营业。我们有以下值作为输入-
N(某人每天可以购买的最大食物数量)。
S(某人需要生存的天数)。
M(每天生存所需的食物数量)。
如果是星期一,我们需要在接下来的S天中生存。我们必须检查我们是否可以生存,是否可以找到我们需要购买食物的最少天数,以便我们可以在接下来的S天数中生存。
因此,如果输入类似于S=12,N=24,M=3,那么输出将为True,我们需要购买食物的最小天数为2,因为我们可以存活8天(从当前星期一开始)到下周一)使用24个单位的食物,然后在接下来的4天内再次购买12个单位。
示例
让我们看看以下实现以获得更好的理解-
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)