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

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

标签: 数论


问题描述:假设有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+15c。
21
b和15c都是3的倍数,对余数没有贡献,只有70a对余数有贡献 ,其他两项同理可得。
3,5,7的最小公倍数是105,也就是说105是一个周期x=(70a+21b+15c)+k105 (k为整数),最小正整数解就是x=(70a+21b+15*c)%105;


剩余定理成立的条件:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值