在1002题之后,后面的1003到1005实在太过简单,所以就不单独发博文阐述了,有问题可以在评论下面回复。
我们详细讨论一下1006题,题目的大致意思大概是找一个公倍数的问题,也就是这三个数在什么时候有一个可以被整除的时间。除了p,e,i这三个参数,为了迷惑你题目还特地弄了一个起始时间,也就是d,事实上这个并没有什么卵用,唯一的作用只是让你在最后减去d,仅此而已。因此题目的关键就是找到这个日期。而且题目中给了一个很明显的暗示,题中说,所求的时间都会小于21252,有点数学基础的同学会发现这其实就是23 28 33这三个数的最小公倍数,也就是说最后求得的日期一定以21252为周期进行改变。
在明白了这个问题之后呢,我们还需要一点基础数论的知识,关于同余。事实上,我们在得到日期后,第一件事大家都会明白就是把各自对应的数在23 28 33求余,求出的余数实质上对应着三个正整数,i,j,k。例如对于给定的一组数据 283 102 23 320。你先求余,得到 7 18 23 320。然后按照数论的同余写成这个样子。
23+33*k = 7 (mod 23) = 18 (mod 28) (这里是全等号)
也就是我们寻找一个正整数k 满足上面的式子,而且;由于时间小于21252,所以k一定小于645。循环不多,时间挺快就搞定了。
但是,这里有个问题,也可能是大多数同学报Wrong Answer的问题
那就是你所求的结果必须严格在 1 (包括1&#x