x%m1=a1x%m2=a2x%m3=a3.(m1m2m3)互质.
稍微试一试发现是16,那么怎幺正常地算出来呢?
我们首先要弄明白一件事:
如果a%b==c,那么a加上一个b的倍数,%b还是余c.这个还是很显而易见的吧.
x=A1+A2+A3.其中A1%3=1,A2%5=1,A3%7=2.A2,3是3的倍数,A1,3是5的倍数,A1,2是7的倍数.
我们先求A3,A3要满足是5,3的倍数,也要满足%7=2.
首先,我们知道它一定是15的倍数,那么我们要知道怎样才能满足%7=2
如果要求%7=2,只用求出来%7=1,然后再乘2就可以了.
似曾相识,这个方程相当于15*t+7*y=1可以用拓展欧几里得求解.
然后,我们知道t=1也就是15*1%7=1所以15*1*2%7就等于2.
于是A3就等于15*1*2=30,
以此类推,求出来A1,A2,最后加起来就是答案.
if(B==0)  x=1y=0;