内容目录
中国剩余定理
若一个数除m1余p1,除m2余p2……,除mn余pn (m1,m2……,mn互质)
则求 k1使k1=m2*……*mn的倍数且除m1余1
……
则这个数为(k1*p1+k2*p2+……kn*pn) mod (m1*m2*……*mn)
Program P1005; var a,b,c,d,i,a1,a2,a3,ans:longint; begin i:=1; a1:=28*33; a2:=23*33; a3:=23*28; while (a1 mod 23<>1) do inc(a1,28*33); while (a2 mod 28<>1) do inc(a2,23*33); while (a3 mod 33<>1) do inc(a3,23*28); while (true) do begin read(a,b,c,d); if (a=-1) and (b=-1) and (c=-1) and (d=-1) then break; ans:=(a1*a+a2*b+a3*c+21252-d) mod 21252; if ans=0 then ans:=21252; writeln('Case ',i,': the next triple peak occurs in ',ans,' days.'); inc(i); end; end.