輸入: 輸入四個整數:p, e, i和d。 p, e, i分別表示體力、情感和 智力高峯出現的日子。d是給定的日子,可能小於p, e或 i。 所有給定日子是非負的並且小於或等於365,所求的日子小於 或等於21252。
解題思路:從第d+1(=k)天開始,一直試到第21252天,對其中每個日期K看是否滿足; 即用枚舉
① : (k-p)%23==0&&(k-e)%28==0&&(k-i)%33==0 判斷是否滿足三個高峯同一天
如何試的更快? -->跳着試
思路:先判斷那一天爲體力高峯,然後跳過兩個體力高峯天之間的日期;再判斷哪天爲同時滿足體力與情商雙高峯的日期,然後跳過不滿足雙高峯的日期 接着測試三高峯的日期。
② : for(k=d+1;(k-p)%23;++k);
for( ; (k-e)%28;k+=23);
for( ; (k-i)%33;k+=23*28);