码迷,mamicode.com
首页 > 其他好文 > 详细

# 韩信点兵问题(中国剩余定理)

时间:2018-11-24 11:46:34      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:个数   中国剩余定理   最小公倍数   韩信点兵   5*   最小   整数   找不到   描述   

韩信点兵问题(中国剩余定理)

标签(空格分隔): 数论


问题描述:假设有x个数,模3得a,模5得b,模7得c,求x的最小值。

首先

  • 70是5,7(除了3以外其他用作取模的数的乘积)的公倍数且是最小的模3得1的数。(572)
  • 21是3,7的公倍数且是最小的模5得1的数。(371)
  • 15是3,5的公倍数且是最小的模7得1的数。(351)

那么:

  • 702就是最小的满足5,7公倍数且模3得2的数,由于70模3得1,那么显然702模3就是2了,那么推广下去,70*a模3就是a了。
  • 其他两个同理

那么:x=70a+21b+15*c。
21b和15c都是3的倍数,对余数没有贡献,只有70a对余数有贡献,其他两项同理可得。
3,5,7的最小公倍数是105,也就是说
105是一个周期x=(70
a+21b+15c)+k105 (k为整数),最小正整数解就是x=(70a+21b+15c)%105;


剩余定理成立的条件:

用来做模数的数(也就是3,5,7)两两互质。倘若不互质,假设是(2,3,4),那么34的倍数永远是2的倍数,找不到一个34的倍数满足模2得a。

# 韩信点兵问题(中国剩余定理)

标签:个数   中国剩余定理   最小公倍数   韩信点兵   5*   最小   整数   找不到   描述   

原文地址:https://www.cnblogs.com/yxmqaq/p/10011080.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!