引用了9楼的解释~
以下是引用林月儿在2018-5-22 22:25:12的发言:
/**
* 分析:特殊五位数加和:ACB,BAC,BCA,CAB,CBA表示为
* 100A+200*(B+C)+10B+20*(A+C)+C+2*(A+B)=3194;
* 122A+212B+221C=3194
* 由于简单判断,122A+212B为偶数,故只有C为偶数等式成立
* 则C的步长可以为2
* 其他特征不明显,可后期优化。
* */
C=(3194-(122A+212B))/221;
3194%221=100;
也就是说
(122A+212B)=100+221*k
(122A+212B)%221=100;
设x=122,y=212
y-x=90;
x-(y-x)=2x-y=122-90=32;
((y-x)-2*(2x-y))=3y-5x=90-2*32=26;
(2x-y)-(3y-5x)=7x-4y=6;
(3y-5x)-4*(7x-4y)=19y-33x=2;
50*(19y-33x)=100
950y-1650x=100;
又从19y-33x=2;可以推得
221*(19y-33x)%221=0;
也就是
(4199y-7293x)%221=0;
设k为通项表达式系数~
((4199+122k)y-(7293+212k)x%221)=0;
((4199+61k)y-(7293+106k)x+(950y-1650x))%221=100;
((5149+61k)y-(8943+106k)x)%221=100;
当k取-84时,有
(25y-39x)%221=100;
到这里,由于x为负数,所以这就走不下去了,要再用另一种方法~
回到式子
(A*x+B*y)%221=100;
可以让
(A*x+B*y)%221=0;
这样目的是让A和B的解找到通项系数~
具体解法,可以让
A*x%221=B*y
2x%221=23;
(2x*10)%221=20x%221=9;
(20x*25)%221=500x%221=(500%221)x%221=58x%221=4;
(58x*56)%221=(3248%221)x%221=154x%221=3;
(154x*74)%221=(11396%221)x%221=125x%221=1;
(125x*212)%221=201x%221=212=y;
(201x-y)%221=0;
(-20x-y)%221=0;
(y+20x)%221=0;
到这里,结合
(25y-39x)%221=100;
得,2*(y+20x)+(25y-39x)=(x+27y)%221=100;
到这里,求得A和B都等于正整数解了,但B的取值范围是27不符合题意,因此要求出符合题意的解~
因为
221/20=11余1;
所以有((1-k)x+(27+11k)y)%221=100;
让1-k保证为正数,则加上(x+20y)有
(((1-k)x+(27+11k)y)+(20x+y))%221=((21-k)x+(28+11k)y)%221=100;
由于A和B的取值范围只能是1~9,并且1已经搜索过了
所以k从19开始,也就是21-k=2开始
当k=19时,有
(2x+237y)%221=100;
也就是
(2x+(237%221)y)%221=(2x+16y)%221=100;
所以当A=2时,B=16;
因为16要大于9,因此还要继续搜索~
当k=18时,直接用前面得出的y的系数16减去11,得,B=5;
因此当A=3时,B有解为5
当A=4时,B=(5-11)+221=215;
当A=5时,B=215-11=204;
当A=6时,B=204-11=193;
当A=7时,B=193-11=182;
当A=8时,B=182-11=171;
当A=9时,B=171-11=160;
可以从解集中得知,只有当A=3时,B在1~9的范围内才有解,为5
故A,B都在1~9的范围内存在唯一解,为:
A=3
B=5
代入
A=3
B=5
到
C=(3194-(122A+212B))/221;
得
C=(3194-(122*3+212*5))/221=8;
所以ABC的结果是:
A=3;
B=5;
C=8;
所以最后得出工人甲的工资是358
------------------------------------------------------------
说个题外话:~
职员/工资
甲 358
乙 385
丙 538
丁 583
戊 835
己 853
为啥工资相差那么大,这还不说,那个工资不知道是按天算还是按月算的,嗯,我可以去看看具体情况
~
[此贴子已经被作者于2018-5-23 04:33编辑过]