POJ2891 Strange Way to Express Integers 剩余定理 || 推广的欧几里得算法

Problem Address:http://poj.org/problem?id=2891

 

本来就是为了推广的欧几里得而找的。

 

剩余定理其实也是可以用这个来做的。

 

 

【思路】

 

假设C  A1 (mod B1),C  A2 (mod B2)。令C = A1 + X1B,那么X1B1  A2  A1 (mod B2)。用扩展欧几里德算法求出X1,也就求出C。令B = lcm(B1B2),那么上面两条方程就可以被C  C (mod B)代替。迭代直到只剩下一条方程。

 

(摘自http://scturtle.is-programmer.com/posts/19363.html

 

除此之外也就没什么好说的了。

 

如果每两组可以求出一个数,则转换a、b后继续往下求。如果不能则输出-1。

 

关键也就是上面转换的一步了。

 

 

【代码】

 

 

 

【P.S.】

 

今天大概可以结束了,虽然好像还有一些没学习到。

 

推广的欧几里得的递归思想确实是蛮不错的,要好好消化。

 

继续努力!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值