这道题主要考察最小公倍数的求法。
首先找到一个数的最小公倍数,然后对另一个数计算倍数的时候,每次加上那个数,求第三个数的公倍数的时候,就加上前两个数的乘积,就可以满足条件了。
可能说着不太清楚,直接上代码叭~
cases = 0
while True:
p, e, i, d = map(int, input().split())
if p == e == i == d == -1:
break
day = d+1
cases += 1
while (day-p) % 23 != 0:
day += 1
while (day-e) % 28 != 0:
day += 23
while (day-i) % 33 != 0:
day += 23*28
print(f'Case {cases}: the next triple peak occurs in {day-d} days.')