假设: 语文课每过 a 天考试一次; 数学课每过 b 天考试一次; 英语课每过 c 天考试一次。 又假设,在昨天,这三门课同时发生了考试。那么从今天开始算起,在接下来的 n 天时间里,将有多少天是没有考试的呢? 输入格式 第一行:单个正整数 n 第二行:三个正整数 a,b 和 c。 输出格式 单个整数:表示没有考试的天数
时间: 2024-03-23 10:43:42 浏览: 60
根据题意,可以先计算三门课分别考试的时间间隔。假设昨天三门课都考试了,那么今天开始,下一次语文考试的时间就是 a 天后,下一次数学考试的时间就是 b 天后,下一次英语考试的时间就是 c 天后。我们可以计算出三门课下次考试的时间,然后找到这三个时间中最早的那个时间,记为 next_exam_day。
接着,我们可以计算出从明天开始的 n 天中,一共有多少个时间间隔是 next_exam_day 天,记为 k。于是,没有考试的天数就是 n-k。
具体实现可以参考以下代码:
```python
n = int(input())
a, b, c = map(int, input().split())
# 计算三门课下次考试的时间
next_exam_day = min(a, b, c)
while next_exam_day <= n:
if next_exam_day % a == 0:
next_exam_day = min(next_exam_day + a, next_exam_day + b, next_exam_day + c)
elif next_exam_day % b == 0:
next_exam_day = min(next_exam_day + b, next_exam_day + c)
else:
next_exam_day += c
# 计算没有考试的天数
k = (n - next_exam_day + 1) // next_exam_day
result = n - k
print(result)
```
希望能够帮助到你!