
近期关于韩信点兵的算法。。。的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。
这个还是比较容易的,常出的题型如“今有物不知其数,三三数之剩二(就是这个数除以三的余数是二的意思),五五数之剩三,七七数之剩二,问物几何。”(韩信点兵算法也就是所谓的中国剩余定理)
我们来假设这个数为x,根据题意列出下式;
X≡2(mod3),
X≡3(mod5),
X≡2(mod7),
根据中国剩余定理,
m1=3,m2=5,m3=7,a1=2,a2=3,a3=2,
M=m1m2m3=3×5×7=105,
M1=M/m1=m2m3=5×7=35,
M2=M/m2=m1m3=3×7=21,
M3=M/m3=m1m2=3×5=15,
y1=M-11modm1=35-1mod3=2,
类似的y2,y3自己写,用word打这些慢麻烦的
写出了y2,y3后;我擦了辛辛苦苦打的求和在这边不知道用哪个语言才能显示
(我还是口述吧,x=求aiMiyimodM的和从i=1开始到3)
=(2×35×2+3×21×1+2×15×1)mod105
=23
23即为所求数 ,第一次回答很水,很多都没深入告诉你比如M-11其实-1是上标1是下标,
上标-1表示的是M1的逆{即x≡MM-1a(modm)=X≡a(modm)}不写了 希望你能看懂,要是没看懂
可以在问我总之我表达能力不是太强
固定的解法是这样的:
解
先随便求一个能被7和8整除且除以9余3的数。有固定的方法:
56m-9n=3(计算前要先把式子两边约一下,这时候没有公因子,不用约)
两个系数56和9,56大,就让56除以9,商6余2,于是可以化简为(6*9+2)m-9n=3,2m-9(n-6m)=3,令k=n-6m,有
2m-9k=3
两个系数2和9,9大,9除以2商4余1,于是
又可以同样化简2m-(4*2+1)k=3,2(m-4k)-k=3,令i=m-4k,有
2i-k=3
这时候,有一个系数是1,遇到系数是1的时候,要留一个1,即2=1*1+1,而不是2=2*1+0。同样令j=k-i,有
i-j=3
这时候,两边系数都是1,就不能化简了,令j=0,有i=3
代回去,算出k=j+i=3,m=i+4k=15令a=56m=280*3,则7|a,8|a,且a除以9余3。
按照同样的方法,找到:
b=441*4,7|b,9|b,且b除以8余4
c=288*2,8|c,9|c,且c除以7余2
然后把三个数加起来
a+b+c=3180,显然这
关于韩信点兵的算法。。。的探讨就到这里,您是否还有其他想了解的内容?欢迎在评论区留言告诉我们,同时别忘了点击关注哦!