挑战 2:在疫情防控期间,人们外出都需要佩戴口罩,为了保障人人都有口罩可用,很多组织都会免费发放口罩。笑笑每周一会收到学校发放的1个口罩,每周五会收到社区发放的7个口罩。她自己每天会用掉1个口罩。在疫情出现之前,笑笑共有 5个口罩,她第一天戴口罩是在周三,到第n (n>2) 天,笑笑共有 m 个口罩。 1.任务目标:0变量[m]中存储了当前口罩的数量,请计算出 n的值:2将最终计算结果存储到变量[n]中。
时间: 2024-02-19 15:00:04 浏览: 55
根据题目描述,我们需要求解在第n天时口罩数量为m的情况,其中口罩数量m和第一天是已知的。我们可以使用Python编写程序来解决这个问题,如下所示:
```python
m = 5 # 初始口罩数量
n = 3 # 第一天是周三,从第三天开始计算
while m > 0:
if n % 7 == 1 or n % 7 == 5:
m += 7 # 每周一和周五收到7个口罩
m -= 1 # 每天使用一个口罩
n += 1 # 天数加1
print(n-1) # 输出n的值,注意要减去1
```
程序的逻辑是:先初始化口罩数量m和天数n,从第三天开始计算。进入循环后,判断当前天数是否是每周一或周五,如果是则收到7个口罩;每天都会使用一个口罩,直到口罩数量m小于等于0为止。最后输出n的值,注意要减去1,因为循环结束时n已经加了1。
如果给定口罩数量m和第一天的星期数(1表示周一,2表示周二,依此类推),我们可以将程序稍加修改:
```python
m = 10 # 初始口罩数量
weekday = 3 # 第一天是周三
n = 1 # 天数从1开始计算
while m > 0:
if weekday == 1 or weekday == 5:
m += 7 # 每周一和周五收到7个口罩
m -= 1 # 每天使用一个口罩
n += 1 # 天数加1
weekday = (weekday % 7) + 1 # 计算下一天的星期数
print(n-1) # 输出n的值,注意要减去1
```
在这个程序中,我们使用weekday变量表示当前是星期几,初始值为第一天的星期数。每次循环结束后,我们需要计算下一天的星期数,这里使用了一个简单的技巧,即先计算weekday % 7,再加上1即可。最后输出n的值即可。