当前位置:   article > 正文

python 取余 韩信点兵_韩信点兵问题的神算法

韩信点兵python算法

韩信点兵问题的神解法

定理

1

:一个数除以

a

余数

x

,除以

b

余数

y

a

b

互质且

a

,求这个数的最小值。

设这个数为

z

,则

z=b(an+x-y)/(b-a)+y

(1)

z=a(bn+x-y)/(b-a)+x

(2)

其中

n

为使

(bn+x-y)/(b-a)

为正整数的最小值。

证明:

z=al+x=bm+y

则:

al+x-y-am=(b-a)m

所以

m=(a(l-m)+x-y)/(b-a)

将变量

l-m

用独立变量

n

代替:

m= (an+x-y)/(b-a)

m

代入以上等式得到:

z=b(an+x-y)/(b-a)+y

同理可以证明等式

2

定理

2

:在定理

1

等式中&#

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/771106
推荐阅读
相关标签
  

闽ICP备14008679号