拓展CRT算法

拓展CRT算法

CRT算法(中国剩余算法)主要用于解决除法操作之后存在余数方程组的问题。CRT算法中除数之间互质,基于此性质,可以方便组织出解的形式。但是拓展CRT算法取消了该性质,故此不得不对方程中的各个算式逐一处理。

已知除数序列 d [ ] d[] d[] 和 余数序列 r [ ] r[] r[],计算最小的符合条件的 x x x。其中,除数序列中各个数值未必互质。已知三者存在如下方程组规则:
KaTeX parse error: No such environment: align at position 16: \left\{ \begin{̲a̲l̲i̲g̲n̲}̲ x &= r_1\ \ (…
拓展CRT算法的主要思路是:对方程组中的每个算式依次合并,最终合并为一个算式 x = r ′   ( m o d   d ′ ) x=r'\ (mod\ d') x=r (mod d),最后通过该算式计算符合条件的最小值。

合并两个算式

先合并前两个算式。记系数为 k i k_i ki,由前两个算式可以表示为:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ x &= k_1\cdot…
由于该算法的主要思路就是进行算式合并,故引用当前例子描述合并的行为。先合并以上两个式子有

k 1 ⋅ d 1 − k 2 ⋅ d 2 = r 2 − r 1 = k ⋅ g c d ( d 1 , d 2 ) k_1\cdot d_1 - k_2\cdot d_2 = r_2 - r1 = k\cdot gcd(d_1, d_2) k1d1k2d2=r2r1=kgcd(d1,d2)

对当前的化简式子进行分析:

  1. 无解情况。 r 2 − r 1 r_2 - r_1 r2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值