【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms
题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意 : (X+d)%23=a1,(X+d)%28=a2,(X+d)%33=a3,给定a1,a2,a3,d,求最小的X。 题目思路: 【中国剩余定理】 23,28,33互素,可以套中国剩余定理。 也可以直接手算逆元。 33×28×a模23的逆元为8,则33×28×8=5544; 23×33×b模28的逆元为19,则23×33×19=14421; 23×28×c模33的逆元为2, 则23×28×2=1288。 因此有(5544×p+14421×e+1288×i)%lcm(23,28,33)=n+d (lcm(23,28,33)= 21252) 所以n=(5544×p+14421×e+1288×i-d)%21252 本题所求的是最小整数解,避免n为负,因此最后结果 n=(n+21252)% 21252 so n=(5544*p+14421*e+1288*i-d+21252)%21252; 1 // 2 //by coolxxx 3 // 4 #include<iostream> 5 #include<algorithm> 6 #include